Regex для соответствия URL-адресов, кроме атрибутов src тегов изображения - PullRequest
0 голосов
/ 04 декабря 2018

Итак, у меня есть регулярное выражение, соответствующее URL.

$pat = '/((?:https?|ftp):\/\/\S+)/u';

Однако, мои img теги также включают в себя URL.

<img class="summernote-image" src="http://random.jp/~name/files/Pikachu.jpg">

Как я могу сопоставить все URL-адреса, не сопоставляя их с тегом изображения, используя регулярное выражение (или любым другим способом)?

1 Ответ

0 голосов
/ 04 декабря 2018

Поскольку вы не обновили название используемого вами языка.

Так что я не могу сказать вам ответ по конкретному языку.

Но все, что вам нужно - это использовать универсальный negative look behind.

Как-то так.

(?<!src="|href=")(?:https?|ftp):\/\/\S+
  • (?<!src="|href=") - Отрицательный взгляд означает, что это означает совпадение, которому не предшествует src=" или href="

Демо

Благодаря @ sureoerformance за ценный вклад:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...