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通过COM使用ADODB的简单例子
Dec 31 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
IStream与TStream之间的相互转换
Aug 01 PHP
php xml实例 留言本
Mar 20 PHP
PHP高自定义性安全验证码代码
Nov 27 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
php中读写文件与读写数据库的效率比较分享
Oct 19 PHP
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 PHP
PHP调用VC编写的COM组件实例
Mar 29 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
Apr 08 PHP
PHP新建类问题分析及解决思路
Nov 19 PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
PHP.MVC的模板标签系统(三)
2006/09/05 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
PHP实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
input 高级限制级用法
2009/03/26 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
2019/11/01 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
Python translator使用实例
2008/09/06 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
python K近邻算法的kd树实现
2018/09/06 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
python pygame实现方向键控制小球
2019/05/17 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
全陪导游欢迎词
2014/01/17 职场文书
亚运会口号
2014/06/20 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
车辆转让协议书
2014/09/24 职场文书
公积金接收函格式
2015/01/30 职场文书
教师考核表个人总结
2015/02/12 职场文书
起诉书范文
2015/05/20 职场文书
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python