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

要利用php获取文章中所有图片中第一张图片出来我们只需要简单的正则表达式即可实现了,下面小编来给大家分享两个实例吧。

首先看一个函数,代码如下:

  1. function getpic($str_img){ 
  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.     return $img_path;  
  8.     } 
  9. //假如数据库已打开,用$nr获取数据库中的新闻内容 
  10. $nr=$row_news["nr"]; 
  11. $aa=getpic($nr_a);  
  12. if(!$aa){$aa="images/nopic.jpg";} //如果新闻中不存在图片,用默认的nopic.jpg替换 

再看一个函数相对比较复杂了

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

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

  1. $obj=M("News"); 
  2. $info=$obj->where('id=1')->find(); 
  3. //方法1********* 
  4.             $soContent = $info['content']; 
  5.             $soImages = '~<img [^>]* />~'
  6.             preg_match_all( $soImages$soContent$thePics ); 
  7.             $allPics = count($thePics[0]); 
  8.             preg_match('/<img.+src="?(.+.(jpg|gif|bmp|bnp|png))"?.+>/i',$thePics[0][0],$match); 
  9.             dump($thePics); 
  10.             if$allPics> 0 ){ 
  11.                 echo "<img src='".$match[1]."' title='".$match[1]."'>";//获取的图片名称 
  12.             } 
  13.             else { 
  14.                 echo "没有图片"
  15.             } 
  16. //************** 
  17.             $soContent = $info['content']; 
  18.             $soImages = '~<img [^>]* />~'
  19.             preg_match_all( $soImages$soContent$thePics ); 
  20.             $allPics = count($thePics[0]); 
  21.             dump($thePics); 
  22.             if$allPics> 0 ){ 
  23.                 echo $thePics[0][0]; //获取的整个Img属性 
  24.             } else { 
  25.                 echo "没有图片"
  26.             } 
  27. //************** 
  28.             $soImages = '~<img [^>]* />~'
  29.             $str=$info['content']; 
  30.             preg_match_all($soImages,$str,$ereg);//正则表达式把图片的整个都获取出来了 
  31.             $img=$ereg[0][0];//图片 
  32.             $p="#src=('|")(.*)('|")#isU";//正则表达式 
  33.             preg_match_all ($p$img$img1); 
  34.                $img_path =$img1[2][0];//获取第一张图片路径 
  35.             if(!$img_path){ 
  36.                 $img_path="images/nopic.jpg"
  37.             } //如果新闻中不存在图片,用默认的nopic.jpg替换 */ 
  38.             echo $img_path
  39. //*************88 
  40.             $str=$info['content']; 
  41.             preg_match_all("/<img.*>/isU",$str,$ereg);//正则表达式把图片的整个都获取出来了 
  42.             $img=$ereg[0][0];//图片 
  43.             $p="#src=('|")(.*)('|")#isU";//正则表达式 
  44.             preg_match_all ($p$img$img1); 
  45.                $img_path =$img1[2][0];//获取第一张图片路径 
  46.             if(!$img_path){ 
  47.                 $img_path="images/nopic.jpg"
  48.             } //如果新闻中不存在图片,用默认的nopic.jpg替换 */ 
  49.             echo $img_path;
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php 获取文章内容的第一张图片实例

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡