文章目录

php获取内容里面的图片地址存到数组中

当我们转载别人的文章的时候,内容里面有许多图片,有可能需要远程将别人的图片下载下来,上传到自己的网站里面。

这里,我们先不说如何远程下载图片,就说说如何使用php将内容里面的图片地址提取出来吧!

方法有很多,比如最简单的就是使用正则表达式。

但是正则表达式不是每个人都会写,那么有没有另外的方法呢?

看下面的代码。

php代码function get_contentImg($content){
  $imgs=array();
  $content=" ".str_replace('<IMG ','<img ',$content);
  while(strpos($content,'<img ')){
  $content=strstr($content,'<img');
  $content=strstr($content,'src="');
  if (strlen($content)>5){
  $iurl=substr($content,5,strpos($content,'"',5)-5);
  $imgs[]=$iurl;
  }
  unset($iurl);
  }
  return $imgs;
  }
  $content='
  <p>
  昨天看到一个视频,在一家餐厅里面,坐着用餐的人们。
  </p>
  <p>
  他们正在津津有味品着美食的时候,一件意想不到的事情突然发生。
  </p>
  <p>
  <img src="http://www.3tii.com/images/upload/image/20171128013139_757.jpg" title="外卖哥撞碎玻璃门" alt="外卖哥撞碎玻璃门" width="600" height="368" /> 
  </p>
  <p>
  门外,一个戴着黄色头盔的外卖小哥,急匆匆的跑向餐厅。
  </p>
  <p>
  没想到的是竟然把玻璃门给撞碎了,玻璃渣碎了一地,而小哥好像还没反应过来,后里还握着被撞玻璃门的把手。然后一脸懵逼的愣了一下,又斜抬头看了一下门上方,内心可能是:我操,这怎么回事?我是是谁?我来自哪儿?咦,我是来取餐的,怎么取了个门所手?
  </p>
  <p>
  <img src="http://www.3tii.com/images/upload/image/20171128013141_518.jpg" title="外卖哥撞碎玻璃门" alt="外卖哥撞碎玻璃门" width="600" height="354" /> 
  </p>
  <p>
  据悉视频发生的地方是广东汕头,外卖小哥是去披萨店取餐时发生的这件事。
  </p>
  <p>
  仔细看门旁边还坐着好像是一对母亲,幸好玻璃渣没有伤到用餐人员。
  </p>
  <p>
  <img src="http://www.3tii.com/images/upload/image/20171128013142_374.jpg" title="外卖哥撞碎玻璃门" alt="外卖哥撞碎玻璃门" width="600" height="341" /> 
  </p>
  <p>
  哎,这小哥也是不容易,可能是急着取餐,要是送餐晚了说不定会得差评,还扣钱。
  </p>
  <p>
  店老板应该不要小哥赔钱吧,毕竟人家用身体对你的门进行了一次质检,要是顾客遇到这种事,老板你可得赔大了。
  </p>
  ';
  $data=get_contentImg(stripslashes($content)); 
  foreach($data as $k=>$imgurl){
  echo $imgurl.'<br>';
  }

运行以上代码,得到以下结果:

http://www.3tii.com/images/upload/image/20171128013139_757.jpg
http://www.3tii.com/images/upload/image/20171128013141_518.jpg
http://www.3tii.com/images/upload/image/20171128013142_374.jpg

自定义一个get_contentImg函数,先将内容里面的img标签全部转换成小写,因为我们并不知道获取到的是大写还是小写,亦或是大小写混写的。

其次使用strpos检测内容里面是否包含“<img ”字符串。

然后再使用strstr截取相关的内容出来。

再使用strlen和substr结合起来,取到图片url地址存入到数组中。

到此,我们使用php获取内容里面的图片功能就完成了。

可以打印数组出来看看,是不是已经获取到了所有的图片地址。

本文网址:http://www.santii.com/article/164.html


数据更新时间:2018-09-21