Home  >  Article  >  Backend Development  >  正则取图片url

正则取图片url

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn