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

 更新时间:2014年11月04日 10:46:05   投稿:shichen2014  
这篇文章主要介绍了php实现获取文章内容第一张图片的方法,涉及对正则表达式的操作,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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基于phpqrcode生成带LOGO图像的二维码实例

    PHP基于phpqrcode生成带LOGO图像的二维码实例

    这篇文章主要介绍了PHP基于phpqrcode生成带LOGO图像的二维码,可实现生成带logo与不带logo两种二维码的功能,非常简单实用,需要的朋友可以参考下
    2015-07-07
  • php连接微软MSSQL(sql server)完全攻略

    php连接微软MSSQL(sql server)完全攻略

    在研究ezSQL的时候就看到了mssql_connect()等一些php提供的连接MSSQL的函数,本以为php这个开源的风靡世界的编程语言对连接微软的数据应该是不在话下的,但是到真正执行的时候,才发现困难多多
    2016-11-11
  • php 静态属性和静态方法区别详解

    php 静态属性和静态方法区别详解

    这篇文章主要介绍了php 静态属性和静态方法区别详解,需要的朋友可以参考下
    2017-04-04
  • php 使用post,get的一种简洁方式

    php 使用post,get的一种简洁方式

    使用$_POST,和$_GET获取客户发来的信息时,一般是使用数组加小标的方式。
    2010-04-04
  • PHP开发API接口签名生成及验证操作示例

    PHP开发API接口签名生成及验证操作示例

    这篇文章主要介绍了PHP开发API接口签名生成及验证操作,结合实例形式较为详细的分析了PHP开发API接口签名生成及验证操作相关原理、实现方法与操作注意事项,需要的朋友可以参考下
    2020-05-05
  • PHP获取文件名后缀的五种实现方法

    PHP获取文件名后缀的五种实现方法

    在PHP开发中,有时候我们需要从文件名中提取出后缀部分,对于文件系统而言,获取文件名后缀是一个常见的需求,可以用于判断文件的类型或者进行其他相关操作,本文将介绍5种在PHP中获取文件名后缀的方法,并给出相应的示例代码,需要的朋友可以参考下
    2023-10-10
  • Eclipse的PHP插件PHPEclipse安装和使用

    Eclipse的PHP插件PHPEclipse安装和使用

    PHP有很多相当不错的开发工具,如Zend Studio、NetBeans、phpdesigner等,但对于习惯Java编程的程序猿们来说,最常用的还要属Eclipse。那么Eclipse能用于PHP开发吗?答案是“必须滴”。
    2014-07-07
  • php实现的mongodb操作类实例

    php实现的mongodb操作类实例

    这篇文章主要介绍了php实现的mongodb操作类,较为详细的分析了php针对mongodb数据库操作的各种常用技巧,并将其封装进一个完整的类文件中以便于调用,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • PHP Redis扩展无法加载的问题解决方法

    PHP Redis扩展无法加载的问题解决方法

    在本篇文章里小编给大家整理的是关于解决PHP Redis扩展无法加载的问题的相关内容,有兴趣的朋友们可以学习下。
    2019-08-08
  • php导出CSV抽象类实例

    php导出CSV抽象类实例

    这篇文章主要介绍了php导出CSV抽象类及其用法示例,可实现循环导出功能,从而避免内存不足的问题,需要的朋友可以参考下
    2014-09-09

最新评论