php: загвоздка с preg_replace

Форум для программистов

Сообщение Spike » Чт мар 10, 2005 5:14 am

выдернул из мануала:
Код: выделить все
$url = preg_replace("/(\[URL=)(http|https|ftp)(:\/\/\S+)(])(.+?)(\[\/URL\])/" , "<a href=\"\2\3\">\5 target=\"_blank\"</a>" , $url);

то есть, по идее, конструкция должна работать так:
Код: выделить все
[URL=http://www.aaa.com]Нажми сюда[/URL]

поменяца на ссылку "нажми сюда", а вместо этого получаца
Код: выделить все
 target="_blank"
с ссылкой "http://test1.ru/php/%02%03"
<!--coloro:blue--><span style="color:blue"><!--/coloro--><a href="http://www.foobar2000.ru/" target="_blank">www.foobar2000.ru - все о любимом аудиоплеере.</a><!--colorc--></span><!--/colorc-->
RUSnet #foobar2000 #miranda.
<a href="http://www.foobar2000.ru/" target="_blank">Изображение</a>

<!--coloro:red--><span style="color:red"><!--/coloro-->Даша, я люблю тебя!<!--colorc--></span><!--/colorc-->
Spike
Генерал-лейтенант
 
Сообщений: 3036
Зарегистрирован: Вт мар 18, 2003 7:34 am
Откуда: Ачинск, Красноярский край
Пункты репутации: 0

Сообщение Spike » Чт мар 10, 2005 5:57 am

Опачки, понял! Вот правильно работает:
Код: выделить все
$message = preg_replace("/(\[URL=)(http|https|ftp)(:\/\/\S+)(])(.+?)(\[\/URL\])/", "<a href=\"\$2$3\" target=\"_blank\">$5</a>", $message);
<!--coloro:blue--><span style="color:blue"><!--/coloro--><a href="http://www.foobar2000.ru/" target="_blank">www.foobar2000.ru - все о любимом аудиоплеере.</a><!--colorc--></span><!--/colorc-->
RUSnet #foobar2000 #miranda.
<a href="http://www.foobar2000.ru/" target="_blank">Изображение</a>

<!--coloro:red--><span style="color:red"><!--/coloro-->Даша, я люблю тебя!<!--colorc--></span><!--/colorc-->
Spike
Генерал-лейтенант
 
Сообщений: 3036
Зарегистрирован: Вт мар 18, 2003 7:34 am
Откуда: Ачинск, Красноярский край
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

cron