preg_match取值有关问题
时间:2021-07-01 10:21:17
帮助过:5人阅读
preg_match取值问题
$body=
;
preg_match('/<[img|IMG].+src=[\'|\"]?(.+\.(jpg|gif|bmp|png))[\'|\"]?.+>/i', $body, $match);
这样取得的是最后一个src,不是第一个
$body=
;
图片间加
后就没问题,怎么回事
------解决方案--------------------
问题在于.+,你用了很多贪婪匹配,自然会匹配到最后面的img,可以? U去修饰
------解决方案--------------------preg_match('/<[img|IMG].+?src=[\'|\"]?([^"]+\.(jpg|gif|bmp|png))[\'|\"]?.+?>/i', $body, $match);
你的范围没限死。.+ 范围太广了。又没有限制贪婪匹配。