正则表达式以匹配除图像标签的src属性以外的URL

时间:2018-12-04 05:14:10

标签: php regex

所以我有一个与网址匹配的正则表达式。

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

但是,我的 img标签 也包含网址。

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

如何使用正则表达式(或任何其他方式)匹配所有网址,而不匹配图像标签中的网址?

1 个答案:

答案 0 :(得分:1)

因为您没有更新所用语言的风格。

所以我不能告诉您特定语言的答案。

  

但是一般情况下,您需要使用negative look behind

这样的事情。

(?<!src="|href=")(?:https?|ftp):\/\/\S+
  • (?<!src="|href=")-这背后的负面表情表示没有src="href="开头的匹配事物

Demo

感谢 @certainoerformance 的宝贵意见:)