Heim  >  Artikel  >  Backend-Entwicklung  >  正则取图片url

正则取图片url

WBOY
WBOYOriginal
2016-06-23 13:04:38983Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn