首页  >  文章  >  后端开发  >  正则取图片url

正则取图片url

WBOY
WBOY原创
2016-06-23 13:04:38983浏览

简单说就是要获取图片的来源
$url='正则取图片url';
 $content=preg_match_all('/\正则取图片url/i', $url, $matches);
 var_dump($matches);
只需要获取src的部分,但是我写的会获取到多余的内容。求正确的正则方法,最好附上说明哈,谢谢。


回复讨论(解决方案)

大神呢。。。

使用这个类就可以了  http://blog.csdn.net/fdipzone/article/details/9105645

$content=preg_match_all('/\<img .*?src=[\"|\']?([^\"]+)[\"|\']?\s*.*? alt="正则取图片url" >/i', $url, $matches);

$url='<img class="trans"src="http://s0.ifengimg.com/2016/05/24/1_2988ea16.jpg"alt="二线房价猛涨 环京置业9000/平起"title="二线房价猛涨 环“ />';$content=preg_match_all('/<img .*?src=("|\')([^\1]+?)\1[^ alt="正则取图片url" >]*?>/i', $url, $matches);echo "<pre class="brush:php;toolbar:false">";print_r($matches[2]);echo "
";/*Array(    [0] => http://s0.ifengimg.com/2016/05/24/1_2988ea16.jpg)*/

3楼的我也有考虑过,但是url当有单引号的时候出现http://beacon.sina.com.cn/a.gif?noScript' border='0' alt='' />这种情况了。。

4楼的当出现正则取图片url会截取到其他的字符串" height=啊,有什么改进方法吗?

preg_match_all('/正则取图片url]*?>/i', $content, $matches);将4楼的+改成*,不知道是否存在问题,但是能正确获取了。初学正则还很多不懂。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn