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 数学运算验证码实现代码
Oct 11 PHP
解析PHP中的unset究竟会不会释放内存
Jul 18 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
Thinkphp单字母函数使用指南
May 08 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 PHP
php array_keys 返回数组的键名
Oct 25 PHP
php修改数组键名的方法示例
Apr 15 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 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的memcache类分享(memcache队列)
2014/03/26 PHP
php图像处理类实例
2015/07/28 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
gulp教程_从入门到项目中快速上手使用方法
2017/09/14 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
java直接调用python脚本的例子
2014/02/16 Python
如何使用Python 打印各种三角形
2019/06/28 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
python 模块导入问题汇总
2021/02/01 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
毕业生自荐信
2013/12/14 职场文书
学年自我鉴定
2014/01/16 职场文书
双方协议书
2014/04/22 职场文书
给老婆的保证书范文
2014/04/28 职场文书
村创先争优活动总结
2014/08/28 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
自我检讨书怎么写
2015/05/07 职场文书
格林童话读书笔记
2015/06/30 职场文书
法制工作总结2015
2015/07/23 职场文书
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏