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编程语言开发动态WAP页面
Oct 09 PHP
谈谈PHP语法(5)
Oct 09 PHP
我的论坛源代码(二)
Oct 09 PHP
用PHP和ACCESS写聊天室(三)
Oct 09 PHP
PHP 解决utf-8和gb2312编码转换问题
Mar 18 PHP
PHP Stream_*系列函数
Aug 01 PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 PHP
PHP缓冲区用法总结
Feb 14 PHP
PHP经典算法集锦【经典收藏】
Sep 14 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 PHP
PHP 枚举类型的管理与设计知识点总结
Feb 13 PHP
PHP如何防止用户重复提交表单
Dec 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 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
PHP字符串处理的10个简单方法
2010/06/30 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
namespace.js Javascript的命名空间库
2011/10/11 Javascript
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
javascript几个易错点记录
2014/11/26 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
[00:11]战神迅矛
2019/03/06 DOTA
处理Python中的URLError异常的方法
2015/04/30 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
Python中如何添加自定义模块
2020/06/09 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
党员年终民主评议的自我评价
2013/11/05 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
《美丽的公鸡》教学反思
2014/02/25 职场文书
生产车间标语
2014/06/11 职场文书
2015年药店工作总结
2015/04/20 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python