Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Замена адресов на ссылки
в общем адреса могут быть те которые возможны суть в том что последний заменять не надо а оставить как есть чтобы другим регулярным выражением заменить тоже на ссылку.
Например при замене этого:
[teg:url]http://www.name.ru|Текст[url:teg]
должно получится:
<a href="http://www.name.ru">Ссылка</a>
Нужно 2 рег. выражения, помогите пожалуйста.
Champion
Отправлено: 17 Марта, 2010 - 11:15:12
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
preg_replace('/(?<!\[teg:url\])(http|ftp)(:\/\/[\w.\/%-]+)/i', '<a href="\1\2">\1\2</a>', $src)
Примерно так для тех, у которых нет [teg:url]
Ну а у которых есть - ?<! заменить на ?<=.
И вызывать приведенный preg_replace раньше, чем с ?<=. Вот.
Brothersssddsss
Отправлено: 17 Марта, 2010 - 14:11:28
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Март 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.