|
|
|
| Как заменить в тексте выражение
**текст** на <b>текст</b> (замена звезд на ** <b> и </b>)
//текст// на <i>текст</i>( заменя слешей на <i> и </i>)
И еще
[http:/url.com текст] на <a href='http://url.ru'>текст</a> | |
|
|
|
|
|
|
|
для: VL
(23.11.2009 в 07:25)
| | Хм... вообще-то сложнова-то будет во всех случаях правильно осуществить замену заменить у вас начальный ** ничем не отличается от конечного **, в то время как тэги <b> и </b> отличаются. В этом случае вложенную конструкцию будет невозможно правильно разобрать.
PS Обязательно нужно использовать именно такую разметку? | |
|
|
|
|
|
|
|
для: cheops
(23.11.2009 в 12:52)
| | Дело в том . Что переношу старую БД под новую с модификациями.
И вот там стояли такие опции ** **
В том то и дело что не отличиются. Но они парные.
Как я понял алгоритм.
Найди текст что между ** и **
И потом заменить **найденный текст ** на <b>найденный текст</b>
Просто с регулярками еще не сталкивался. | |
|
|
|
|
автор: .... (23.11.2009 в 15:37) |
|
|
для: VL
(23.11.2009 в 14:12)
| | что-то вроде
<?
$text= htmlspecialchars('Как заменить в тексте выражение
***текст
*текст*
*** на <b>текст</b> (замена звезд на ** <b> и </b>)
//текст// на <i>текст</i>( заменя слешей на <i> и </i>)
И еще
[http:/urlcom текст] на <a href="http://urlru">текст</a>');
$re = array(
'#\*\*(.+?)\*\*#s', # **текст**
'#//(.+?)//#s', # //текст//
'#\[http:/([^\s"]+)\s+([^\]]+)\]#' # [http:/urlcom текст]
);
# [^\s"] можно просто \S, если htmlspecialchars() заменила "
# [^\]]+ и .* если не должно быть <
$place = array(
'<b>$1</b>',
'<i>$1</i>',
'<a href="http://$1">$2</a>'
);
echo preg_replace($re, $place, $text);
?>
|
Но текст перед тем как сохранён с таким оформлением должен-бы не содержать каких-нибудь символов html-разметки. или нужна htmlspecialchars() | |
|
|
|
|
автор: .... (23.11.2009 в 15:56) |
|
|
для: ....
(23.11.2009 в 15:37)
| | >каких-нибудь символов html-разметки
и лишних символов такой разметки
в строке
http://xxxx http://yyyyy пропадут слэши | |
|
|
|
|
|
|
|
для: ....
(23.11.2009 в 15:56)
| | Спасибо! попробуем.! | |
|
|
|