现在的位置: 首页 > 网站开发 > 正文

获取文章内容的第一张图片

2013年09月18日 网站开发 ⁄ 共 1757字 评论数 2 ⁄ 被围观 3,142+

在做项目的时候,页面的设计有时会留有文章特色图像的位置,可是有时,这篇文章反而没有上传图片,则在页面中显示的时候则是没有图片,样式上很难看,如果单纯是没有上传图片选用默认图片的时候,有时会引起一些误解;则在考虑是不是先对这个文章图片的问题细化处理:先判断是否有上传的图片,如果有则显示上传的图片,没有则判断内容中是否有图片,有则选取第一张图片作为此处的特色图片,如果连内容中也没有图片的话,则在此处显示默认图片;

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

$obj=M("News");
$info=$obj->where('id=1')->find();
//方法1*********

  1.         $soContent = $info['content'];
  2.         $soImages = '~<img [^>]* />~';
  3.         preg_match_all( $soImages, $soContent, $thePics );
  4.         $allPics = count($thePics[0]);
  5.         preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$thePics[0][0],$match);
  6.         dump($thePics);
  7.         if( $allPics> 0 ){
  8.             echo "<img src='".$match[1]."' title='".$match[1]."'>";//获取的图片名称
  9.         }
  10.         else {
  11.             echo "没有图片";
  12.         }

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

  1.         $soContent = $info['content'];
  2.         $soImages = '~<img [^>]* />~';
  3.         preg_match_all( $soImages, $soContent, $thePics );
  4.         $allPics = count($thePics[0]);
  5.         dump($thePics);
  6.         if( $allPics> 0 ){
  7.             echo $thePics[0][0]; //获取的整个Img属性
  8.         } else {
  9.             echo "没有图片";
  10.         }

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

  1.         $soImages = '~<img [^>]* />~';
  2.         $str=$info['content'];
  3.         preg_match_all($soImages,$str,$ereg);//正则表达式把图片的整个都获取出来了
  4.         $img=$ereg[0][0];//图片
  5.         $p="#src=('|\")(.*)('|\")#isU";//正则表达式
  6.         preg_match_all ($p, $img, $img1);
  7.            $img_path =$img1[2][0];//获取第一张图片路径
  8.         if(!$img_path){
  9.             $img_path="images/nopic.jpg";
  10.         } //如果新闻中不存在图片,用默认的nopic.jpg替换 */
  11.         echo $img_path;

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

  1.         $str=$info['content'];
  2.         preg_match_all("/<img.*\>/isU",$str,$ereg);//正则表达式把图片的整个都获取出来了
  3.         $img=$ereg[0][0];//图片
  4.         $p="#src=('|\")(.*)('|\")#isU";//正则表达式
  5.         preg_match_all ($p, $img, $img1);
  6.            $img_path =$img1[2][0];//获取第一张图片路径
  7.         if(!$img_path){
  8.             $img_path="images/nopic.jpg";
  9.         } //如果新闻中不存在图片,用默认的nopic.jpg替换 */
  10.         echo $img_path;

目前有 2 条留言 其中:访客:2 条, 博主:0 条

  1. 中国博客联盟 : 2013年10月04日13:55:14  -49楼

    中国博客联盟已经收录您的博客。

  2. 培训网 : 2013年10月08日18:49:23  -48楼

    不明觉厉啊,呵呵

给我留言

留言无头像?