正则取图片url

WBOY
WBOYasal
2016-06-23 13:04:38989semak imbas

简单说就是要获取图片的来源
$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楼的+改成*,不知道是否存在问题,但是能正确获取了。初学正则还很多不懂。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn