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 数组基础知识小结
Aug 20 PHP
支持中文的php加密解密类代码
Nov 27 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
Mar 27 PHP
php array的学习笔记
May 10 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
php获取当前url地址的方法小结
Jan 10 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 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
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
jQuery Tools tab使用介绍
2012/07/14 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
javascript history对象详解
2017/02/09 Javascript
详谈js模块化规范
2017/07/07 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
Python 调用Java实例详解
2017/06/02 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
Python列表解析操作实例总结
2020/02/26 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
怎样写留学自荐信
2013/11/11 职场文书
同志主要表现材料
2014/08/21 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
Python可视化学习之matplotlib内置单颜色
2022/02/24 Python