Показать сообщение отдельно
  #1 (permalink)  
Старый 27.08.2016, 16:14
Аспирант
Отправить личное сообщение для rusbody Посмотреть профиль Найти все сообщения от rusbody
 
Регистрация: 18.02.2011
Сообщений: 51

Регулярное выражение: Как выбрать все ссылки без ббкода?
Есть регулярное выражение:
$text = preg_replace("~(?<!\[url\])((http|https|ftp|ftps)://)([а-яА-Яa-zA-Z.\/0-9-+_?=&%\#;])+~siu", '[url]$0[/url]', $text);


Которое ищет все ссылки на странице без тэга и оборачивает их в код. Чтобы не оборачивать уже обёрнутую ссылку, добавлено отрицание тэга
(?<!\[url\])


Проблема возникла с тэгами
[url=ссылка]ссылка[/url]
. Отрицание
(?<!\[url\])
не помогает.

Как быть?
Ответить с цитированием