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&amp;&amp;mysql)一
Oct 09 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
php set_time_limit()函数的使用详解
Jun 05 PHP
PHP判断网络文件是否存在的方法
Mar 12 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
PHP使用PDO抽象层获取查询结果的方法示例
May 10 PHP
Yii2框架自定义验证规则操作示例
Feb 08 PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 PHP
PHP利用百度ai实现文本和图片审核
May 08 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来写记数器(详细介绍)
2006/10/09 PHP
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
在Python中使用模块的教程
2015/04/27 Python
Python实现栈的方法
2015/05/26 Python
python 循环while和for in简单实例
2016/08/16 Python
利用Python获取操作系统信息实例
2016/09/02 Python
Python模块文件结构代码详解
2018/02/03 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
华为慧通面试题
2012/09/11 面试题
数据管理员的自我评价分享
2013/11/15 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
绩效工资实施方案
2014/03/15 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
学校消防安全责任书
2014/07/23 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python