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


Posted in PHP onNovember 04, 2014

本文实例讲述了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获取文章html内容第一张图片地址

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

// 注意这个变量中img标签末尾的细节变化
$str='<center>
    <img src="http://www.xxxx.com/1.jpeg">
    <img src="http://www.xxxx.com/2.jpeg" >
    <img src="http://www.xxxx.com/3.jpeg"/>
    <img src="http://www.xxxx.com/4.jpeg" />
   </center>';
echo get_html_first_imgurl($str);
exit;
/**
 * 获取文章内容html中第一张图片地址
 */
function get_html_first_imgurl($html){
  $pattern = '~]*[\s]?[\/]?[\s]?>~';
  preg_match_all($pattern, $html, $matches);//正则表达式把图片的整个都获取出来了
  $img_arr = $matches[0];//全部图片数组
  $first_img_url = "";
  if (!empty($img_arr)) {
    $first_img = $img_arr[0];
    $p="#src=('|\")(.*)('|\")#isU";//正则表达式
    preg_match_all ($p, $first_img, $img_val);
    if(isset($img_val[2][0])){
      $first_img_url = $img_val[2][0]; //获取第一张图片地址
    }
  }
  return $first_img_url;
}

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

PHP 相关文章推荐
用PHP与XML联手进行网站编程代码实例
Jul 10 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
php基础学习之变量的使用
Jun 09 PHP
PHP5 的对象赋值机制介绍
Aug 02 PHP
php 文件缓存函数
Oct 08 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
求PHP数组最大值,最小值的代码
Oct 31 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
php中\r \r\n \t的区别示例介绍
Feb 08 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
UTF-8正则表达式如何匹配汉字
Aug 03 PHP
PHP7新特性
Mar 09 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 #PHP
CI框架装载器Loader.php源码分析
Nov 04 #PHP
php+ajax实现无刷新分页的方法
Nov 04 #PHP
CI框架安全类Security.php源码分析
Nov 04 #PHP
CI框架Session.php源码分析
Nov 03 #PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 #PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 #PHP
You might like
PHP 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
requirejs + vue 项目搭建详解
2017/06/16 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
Python实现的多进程和多线程功能示例
2018/05/29 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
Python列表切片操作实例总结
2019/02/19 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
微信公众号token验证失败解决方案
2019/07/22 Python
python logging模块的使用
2020/09/07 Python
Python用Jira库来操作Jira
2020/12/28 Python
介绍一下EJB的体系结构
2012/08/01 面试题
2015年行政执法工作总结
2015/05/23 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
Spring实现内置监听器
2021/07/09 Java/Android