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往windows中添加用户
Dec 06 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
php mysql Errcode: 28 终极解决方法
Jul 01 PHP
php GeoIP的使用教程
Mar 09 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
PHP中的use关键字及文件的加载详解
Nov 28 PHP
Yii2实现中国省市区三级联动实例
Feb 08 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
Laravel数据库读写分离配置的方法
Oct 13 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
PHP字符串和十六进制如何实现互相转换
Jul 16 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面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
php时间戳转换代码详解
2019/08/04 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
python实现百万答题自动百度搜索答案
2018/01/16 Python
python模拟事件触发机制详解
2018/01/19 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Python 如何在字符串中插入变量
2020/08/01 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
计算机应用专业毕业生求职信
2013/10/24 职场文书
《三袋麦子》教学反思
2014/03/02 职场文书
保护环境倡议书范文
2014/05/13 职场文书
中秋节寄语2015
2015/03/24 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
2015党建工作简报
2015/07/21 职场文书
2016年父亲节寄语
2015/12/04 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书