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 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
用在PHP里的JS打印函数
Oct 09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
Zend Framework常用校验器详解
Dec 09 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
Mar 08 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
360搜索引擎自动收录php改写方案
Apr 28 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 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
PHP4实际应用经验篇(6)
2006/10/09 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
php实现的生成排列算法示例
2019/07/25 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
Python list操作用法总结
2015/11/10 Python
Python内置函数delattr的具体用法
2017/11/23 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
Python代码需要缩进吗
2020/07/01 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
教育学专业毕业生的自我评价
2013/11/21 职场文书
yy司仪主持词
2014/03/22 职场文书
班训口号大全
2014/06/18 职场文书
党员理论学习心得体会
2016/01/21 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python