php实现获取文章内容第一张图片的方法

  本文实例讲述了php实现获取文章内容第一张图片的方法。分享给大家供大家参考。具体分析如下:

  采用php获取文章内容的第一张图片方法非常的简单,我们最常用的是使用正则了,感兴趣的朋友可以参考一下下面这段代码。

  以下是关于选取文章中第一张图片的代码:

  

复制代码 代码如下:
$obj=M("News");

  $info=$obj->where('id=1')->find();

  //方法1*********

  $soContent = $info['content'];

  $soImages = '~<img [^>]* />~';

  preg_match_all( $soImages, $soContent, $thePics );

  $allPics = count($thePics[0]);

  preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$thePics[0][0],$match);

  dump($thePics);

  if( $allPics> 0 ){

  echo "<img src='".$match[1]."' title='".$match[1]."'>";//获取的图片名称

  }

  else {

  echo "没有图片";

  }

  //**************

  $soContent = $info['content'];

  $soImages = '~<img [^>]* />~';

  preg_match_all( $soImages, $soContent, $thePics );

  $allPics = count($thePics[0]);

  dump($thePics);

  if( $allPics> 0 ){

  echo $thePics[0][0]; //获取的整个Img属性

  } else {

  echo "没有图片";

  }

  //**************

  $soImages = '~<img [^>]* />~';

  $str=$info['content'];

  preg_match_all($soImages,$str,$ereg);//正则表达式把图片的整个都获取出来了

  $img=$ereg[0][0];//图片

  $p="#src=('|\")(.*)('|\")#isU";//正则表达式

  preg_match_all ($p, $img, $img1);

  $img_path =$img1[2][0];//获取第一张图片路径

  if(!$img_path){

  $img_path="images/nopic.jpg";

  } //如果新闻中不存在图片,用默认的nopic.jpg替换 */

  echo $img_path;

  //*************88

  $str=$info['content'];

  preg_match_all("/<img.*\>/isU",$str,$ereg);//正则表达式把图片的整个都获取出来了

  $img=$ereg[0][0];//图片

  $p="#src=('|\")(.*)('|\")#isU";//正则表达式

  preg_match_all ($p, $img, $img1);

  $img_path =$img1[2][0];//获取第一张图片路径

  if(!$img_path){

  $img_path="images/nopic.jpg";

  } //如果新闻中不存在图片,用默认的nopic.jpg替换 */

  echo $img_path;

  希望本文所述对大家的PHP程序设计有所帮助。