Консультация № 55142
12.09.2006, 12:29
0.00 руб.
0 3 3
Уважаемые эксперыт!
Из БД достаю переменную $content, в ней содержится:
$content="Hello [cod]This cod![/cod] End"; далее её надо обработать, так чтобы выводилось сл. образом:

Hello
<table width="100%">
<tr>
<td>This cod!</td>
</tr>
</table>
End

Обсуждение

Неизвестный
12.09.2006, 13:00
общий
это ответ
Здравствуйте, Nook!

str_replace - Заменяет в исходной строке одни подстроки на другие.

Синтаксис :
string str_replace(string from, string to, string str)

Эта функция заменяет в строке str все вхождения подстроки from (с учетом регистра) на to и возвращает результат. Исходная строка, переданная третьим параметром, при этом не меняется.
также эта функиция может работать с двоичными строками.

т.е.

$content = str_replace(‘[cod]‘,‘<table width="100%"><tr><td>‘,$content);
$content = str_replace(‘[/cod]‘,‘</td></tr></table>‘,$content);

Приложение:
$content = str_replace(‘[cod]‘,‘<table width="100%"><tr><td>‘,$content);$content = str_replace(‘[/cod]‘,‘</td></tr></table>‘,$content);
Неизвестный
12.09.2006, 14:38
общий
это ответ
Здравствуйте, Nook!
Можно воспользоваться регулярными выражениями:
Если Вам надо будет надо добавить новые псевдо-тэги, то следующий код Вам подойдёт.
Чтобы добавить ещё одну обработку, но вставить ещё один elseif. Например, нужно добавить обработку [b], чтобы добиться выделения текста жирным:
elseif($t==‘b‘)
return ‘<b>‘.$p[2].‘</b>‘;
Если Вам дополнительные псеводо-тэги не нужны, то в приложении тоже есть код.

Приложение:
-----------Пример с добавлением тэгов---------<?phpfunction zam($p){ $t=$p[1]; if ($t=="cod") return"<table width=‘100%‘><tr><td>".$p[2]."</td></tr></table>"; elseif($t==‘i‘) return ‘<i>‘.$p[2].‘</i>‘;}$re=‘~\[([^\]]+?)\]([^\]]*?)\[/\1\]~ixs‘;$text=‘[cod]stamm[/cod]‘;print(preg_replace_callback($re,‘zam‘,$text));?>------------Пример без добавления тэгов<?php$re=‘~\[cod\]([^\]]*?)\[/cod\]~ixs‘;$text=‘[cod]stamm[/cod]‘;print preg_replace($re,"<table width=‘100%‘><tr><td>$1</td></tr></table>",$text);?>
Неизвестный
13.09.2006, 10:07
общий
это ответ
Здравствуйте, Nook!
str_replace("что", "на что",где)


Приложение:
$content=str_replace(‘[cod]‘,‘<table width="100%"><tr><td>‘,$content);$content=str_replace(‘[/cod]‘,‘</td></tr></table>‘,$content);
Форма ответа