У меня небольшая проблема с моим Regex
Я создал собственный BB-код для своего веб-сайта, однако я также хочу, чтобы URL-адреса также анализировались.
Я использую preg_replace, и этот шаблон используется для идентификации URL:
/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/is
Это прекрасно работает, однако, если URL находится внутри блока [img] [/ img], вышеприведенный шаблон также подхватывает его и выдает результат, подобный следующему:
//[img]http://url.com/toimg.jeg[/img] will produce this result:
<img src="<a href="http://url.com/toimg.jeg" target="_blank">/>
//When it should produce:
<img src="http://url.com/toimg.jeg"/>
Я пытался использовать это:
/([^"][\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/][^"])/is
Без удачи.
Любая помощь будет оценена.
Edit:
Для решения см. 2-й комментарий к ответу Stema.