форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Создание сайта / разбиение строки |
| Автор | Сообщение |
| SpiriTzzz Темный джедай 1382 |
# Дата: 30 Июн 2007 11:14 ° Поправил: SpiriTzzz вобщем есть строка <b> {code} </b>задача - разбить её на три, до скобок, то что в скобках, и после скобок и впихнуть в разные переменные. тоесть должно типо: $a= "<b>"; $b= "code"; $c= "</b>"; вроде не сложно как это лучше сделать? |
| persei Участник 491 |
# Дата: 30 Июн 2007 12:22 ну если пробелов нигде кроме указанных нет то list($a, $b, $c) = explode(' ', $str); ну и у $b удалить фигурные скобки. если нет то можно провести синтаксический анализ |
| SpiriTzzz Темный джедай 1382 |
# Дата: 30 Июн 2007 12:52 persei не, это для примера, конструкция может быть и такой: <a href="#">text</a><p><b> texte tex {code} bla bla </a>и опять в итоге: $a= "<a href="#">text</a><p><b> texte tex "; $b= "code"; $c= "bla bla </a>"; |
| Cryptex Участник 312 |
# Дата: 30 Июн 2007 13:56 ° Поправил: Cryptex Самый тупой вариант)) list($a, $c) = explode('{code}', $str);ну а $b="{code}"; |
| maxtat pda killer 1489 |
# Дата: 30 Июн 2007 14:00 сначала ищем позиции { и } функцией strpos, затем это надо как-то вырезать... ![]() |
| SpiriTzzz Темный джедай 1382 |
# Дата: 30 Июн 2007 14:12 Cryptex содержимое скобок {} каждый раз разное ![]() |
| Cryptex Участник 312 |
# Дата: 30 Июн 2007 14:16 Вариант ещё тупее: list($a, $bc) = explode('{', $str);
list($b, $c) = explode('}', $bc); |
| Михаил Ушел в бан) 2572 |
# Дата: 30 Июн 2007 14:20 ° Поправил: Михаил $string="<b> {code} </b>"
$str=explode(" ", $string); $a=$str[0]; $num=strlen($str[1]); $b= substr($str[1],1,$num-2); $c=$str[2]; в результате $A = <B> $C = </B> а переменная $B будет равна code, так как первый и последний символы вырезаны з.ы. это при условии что между тегами и самим кодом лишь один пробел |
| SpiriTzzz Темный джедай 1382 |
# Дата: 30 Июн 2007 15:29 че, неужто никто не знает КАК это сделать? ))))) |
| WarGot Per aspera ad astra 1949 |
# Дата: 30 Июн 2007 15:36 Михаил Пробелы там как могут быть, так могут и отсутствать. Тут надо от скобок плясать, но как блин -( Простейшая задача но долбаемся уже целый день -( |
| gl_SPICE Участник 1766 |
# Дата: 30 Июн 2007 16:39 WarGot, капайте в сторону регулярных выражений, там вроде есть какая-то функция-аналог explode, только с шаблоном. |
| SpiriTzzz Темный джедай 1382 |
# Дата: 30 Июн 2007 16:42 gl_SPICE уже запарились мы копать скоро до Америки докапаемся блин. С рег. выр. я что то находил, но толкового из этого ничего не вышло ![]() |
| maxtat pda killer 1489 |
# Дата: 1 Июл 2007 00:20 там вроде есть какая-то функция-аналог explode, только с шаблоном.
preg_split (string pattern, string subject [,int limit [,int flags]]) |
| Cryptex Участник 312 |
# Дата: 1 Июл 2007 00:25<?php
$scr = "<a href='#'>text</a><p><b> texte tex {code} bla bla </a>";
list($a, $bc) = explode("{", $scr);
list($b, $c) = explode("}", $bc);
print "\$a = $a<br>";
print "\$b = $b<br>";
print "\$c = $c<br>";
?>Ну вот это мне вывело вот это: $a = [url=#]text[/url] texte tex $b = code $c = bla bla Если подумать что html код не пеказывается на прямую, то всё ок
если выводить так: print <<<HERE <textarea cols="30" rows="10"> \$a = $a \$b = $b \$c = $c </textarea> HERE; то будет вот что: $a = <a href='#'>text</a><p><b> texte tex $b = code $c = bla bla </a> |
| maxtat pda killer 1489 |
# Дата: 1 Июл 2007 00:30 Cryptex htmlspecialchars легче применить |
| SpiriTzzz Темный джедай 1382 |
# Дата: 1 Июл 2007 14:06 ° Поправил: SpiriTzzz с идеи maxtat, при благословление Defa и его помощи все оказалось гораздо проще, чем я думал
<?php
$line = "Hello, f {world} yysdffdsdfds11";
$var = strpos($line, "{");
$var2 = strpos($line, "}",$var);
$p1=substr($line,0,$var);
$p2=substr($line,$var+1,$var2-$var-1);
$p2="code" ;
$p3=substr($line,$var2+1);
echo($p1.$p2.$p3);
?>
|
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:34178, gzipped size:9438 |