简单的正则表达式修改以仅匹配图像

时间:2011-06-10 20:18:33

标签: php regex

如何编辑以下正则表达式

/(?<=src=")(.*?)(?=")/ui

只获得与jpeg,png,gif结束的匹配,如下所示?

!http://.+\.(?:jpe?g|png|gif)!Ui

谢谢

2 个答案:

答案 0 :(得分:1)

/(?<=src=")([^"]+\.(jpe?g|png|gif))(?=")/ui

替换中间的。*(它代表文件名) - 所以只有当文件名以jpg,jpeg,png,gif结尾时才会匹配

编辑:

带有查询字符串的Solutin是:

/(?<=src=")([^"]+\.(jpe?g|png|gif))(\?[^"]*)?(?=")/ui

我换了。使用[^“],因为双引号在URI中无效(并且经常不使用) - 或者您可以使用此([^”] |(?&lt; = \)|“)来转义双引号

答案 1 :(得分:1)

并取而代之的是(.*?)优先使用([^"]+)