Finetune Regex для пропуска тегов

Код должен пропускать существующие ссылки, значения src <img> (или что-то в этом роде)

 public function convertUrlsToLinks($text){ return preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.-]*(\?\S+)?)?)?)@', '<a href="$1" target="_blank">$1</a>', $text); } 

Не могу понять, что мне нужно изменить в этой функции?

Добавьте небольшую часть в свое регулярное выражение, которое проверяет, не является ли ваше регулярное выражение «внутри» тегом. Так что это должно быть

  <tag>HERE</tag> 

и не

  <tag src="HERE"></tag>. 

Поскольку URL-адрес всегда будет INSIDE тегом html, он должен работать, если вы используете для этого регулярное выражение. Я не профессионал с регулярным выражением, поэтому не могу помочь вам больше, чем это, но я думаю, что это должно помочь вам в правильном направлении.