php 获取文章内容的第一张图片实例
发布:smiling 来源: PHP粉丝网 添加日期:2014-01-08 15:44:52 浏览: 评论:0
要利用php获取文章中所有图片中第一张图片出来我们只需要简单的正则表达式即可实现了,下面小编来给大家分享两个实例吧。
首先看一个函数,代码如下:
- function getpic($str_img){
- 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];//获取第一张图片路径
- return $img_path;
- }
- //假如数据库已打开,用$nr获取数据库中的新闻内容
- $nr=$row_news["nr"];
- $aa=getpic($nr_a);
- if(!$aa){$aa="images/nopic.jpg";} //如果新闻中不存在图片,用默认的nopic.jpg替换
再看一个函数相对比较复杂了
在做项目的时候,页面的设计有时会留有文章特色图像的位置,可是有时,这篇文章反而没有上传图片,则在页面中显示的时候则是没有图片,样式上很难看,如果单纯是没有上传图片选用默认图片的时候,有时会引起一些误解,则在考虑是不是先对这个文章图片的问题细化处理,先判断是否有上传的图片,如果有则显示上传的图片,没有则判断内容中是否有图片,有则选取第一张图片作为此处的特色图片,如果连内容中也没有图片的话,则在此处显示默认图片;
以下是关于选取文章中第一张图片的代码,代码如下:
- $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;
Tags: 获取 文章内容 第一张图片
相关文章
- ·php 获取当前脚本的url(2013-11-12)
- ·php获取当前页面url地址及参数(2013-12-19)
- ·php获取访问者真实ip地址(2013-12-19)
- ·php 利用Google API 获取当前天气信息代码(2013-12-27)
- ·php获取google当前天气实现程序(2014-01-05)
- ·php获取复选框的值代码(2014-01-06)
- ·php 获取浏览器名称版本实例程序(2014-01-07)
- ·简单php获取复选框的值代码(2014-01-16)
- ·PHP中get获取url汉字乱码解决办法(2014-01-17)
- ·php获取当前页面完整url地址实例(2014-01-17)
- ·php 获取当前页面地址(2014-02-23)
- ·php 获取checkbox表单取值程序代码(2014-03-05)
- ·php获取刚刚插入数据的ID值(2014-03-05)
- ·php中直接获取变量值[post,get,cooie]而不$_GET 字符转义(2014-03-25)
- ·php获取超连接传递过来参数值方法(2014-03-25)
- ·PHP $_GET 获取 HTML表单(Form) 或url数据(2014-03-28)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)