当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-23 10:33:04 浏览: 评论:0 

这篇文章主要介绍了php实现获取文章内容第一张图片的方法,涉及对正则表达式的操作,非常具有实用价值,需要的朋友可以参考下

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

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

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

  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. else { 
  13.   echo "没有图片"
  14. //************** 
  15. $soContent = $info['content']; 
  16. $soImages = '~<img [^>]* />~'
  17. preg_match_all( $soImages$soContent$thePics ); 
  18. $allPics = count($thePics[0]); 
  19. dump($thePics); 
  20. if$allPics> 0 ){ 
  21.   echo $thePics[0][0]; //获取的整个Img属性 
  22. else { 
  23.   echo "没有图片"
  24. //************** 
  25. $soImages = '~<img [^>]* />~'
  26. $str=$info['content']; 
  27. preg_match_all($soImages,$str,$ereg);//正则表达式把图片的整个都获取出来了 
  28. $img=$ereg[0][0];//图片 
  29. $p="#src=('|\")(.*)('|\")#isU";//正则表达式 
  30. preg_match_all ($p$img$img1); 
  31.   $img_path =$img1[2][0];//获取第一张图片路径 
  32. if(!$img_path){ 
  33.   $img_path="images/nopic.jpg"
  34. //如果新闻中不存在图片,用默认的nopic.jpg替换 */ 
  35. echo $img_path
  36. //*************88 
  37. $str=$info['content']; 
  38. preg_match_all("/<img.*\>/isU",$str,$ereg);//正则表达式把图片的整个都获取出来了 
  39. $img=$ereg[0][0];//图片 
  40. $p="#src=('|\")(.*)('|\")#isU";//正则表达式 
  41. preg_match_all ($p$img$img1); 
  42.   $img_path =$img1[2][0];//获取第一张图片路径 
  43. if(!$img_path){ 
  44.   $img_path="images/nopic.jpg"
  45. //如果新闻中不存在图片,用默认的nopic.jpg替换 */ 
  46. echo $img_path

php获取文章html内容第一张图片地址

php实现获取文章html内容第一张图片地址,示例采用正则表达式实现,代码仅供参考。也可以稍作修改即可获取文章内容中全部图片地址,具体业务具体扩展。

  1. // 注意这个变量中img标签末尾的细节变化 
  2. $str='<center> 
  3.     <img src="http://www.xxxx.com/1.jpeg"
  4.     <img src="http://www.xxxx.com/2.jpeg" > 
  5.     <img src="http://www.xxxx.com/3.jpeg"/> 
  6.     <img src="http://www.xxxx.com/4.jpeg" /> 
  7.    </center>'; 
  8. echo get_html_first_imgurl($str); 
  9. exit
  10. /** 
  11.  * 获取文章内容html中第一张图片地址 
  12.  */ 
  13. function get_html_first_imgurl($html){ 
  14.   $pattern = '~]*[\s]?[\/]?[\s]?>~'
  15.   preg_match_all($pattern$html$matches);//正则表达式把图片的整个都获取出来了 
  16.   $img_arr = $matches[0];//全部图片数组 
  17.   $first_img_url = ""
  18.   if (!emptyempty($img_arr)) { 
  19.     $first_img = $img_arr[0]; 
  20.     $p="#src=('|\")(.*)('|\")#isU";//正则表达式 
  21.     preg_match_all ($p$first_img$img_val); 
  22.     if(isset($img_val[2][0])){ 
  23.       $first_img_url = $img_val[2][0]; //获取第一张图片地址 
  24.     } //www.phpfensi.com 
  25.   } 
  26.   return $first_img_url

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

Tags: php获取文章内容图片

分享到: