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 09 PHP
php与XML、XSLT、Mysql的结合运用实现代码
Nov 19 PHP
php的memcached客户端memcached
Jun 14 PHP
php设计模式 State (状态模式)
Jun 26 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
php中的ini配置原理详解
Oct 14 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
May 14 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 cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
详解vue-router和vue-cli以及组件之间的传值
2017/07/04 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
Python实现图像的垂直投影示例
2020/01/17 Python
基于Pytorch SSD模型分析
2020/02/18 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
什么是Smart Navigation?
2016/07/03 面试题
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
《搭石》教学反思
2014/04/07 职场文书
孝女彩金观后感
2015/06/10 职场文书
OpenCV实现普通阈值
2021/11/17 Java/Android
sql server 累计求和实现代码
2022/02/28 SQL Server