热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php书那张图,php获取文章内容的第一张图片实例

要利用php获取文章中所有图片中第一张图片出来我们只需要简单的正则表达式即可实现了,下面小编来给大家分享两个实例吧。首先看一个函数:代码如下复制代码fu

要利用php获取文章中所有图片中第一张图片出来我们只需要简单的正则表达式即可实现了,下面小编来给大家分享两个实例吧。

首先看一个函数:

 代码如下

function getpic($str_img){

    preg_match_all("//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 = '~]* />~';

preg_match_all( $soImages, $soContent, $thePics );

$allPics = count($thePics[0]);

            preg_match('//i',$thePics[0][0],$match);

dump($thePics);

if( $allPics> 0 ){

                echo "%22.%24match%5B1%5D.%22";//获取的图片名称

}

else {

echo "没有图片";

}

//**************

$soContent = $info['content'];

            $soImages = '~]* />~';

preg_match_all( $soImages, $soContent, $thePics );

$allPics = count($thePics[0]);

dump($thePics);

if( $allPics> 0 ){

echo $thePics[0][0]; //获取的整个Img属性

} else {

echo "没有图片";

}

//**************

$soImages = '~]* />~';

$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("//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;




推荐阅读
author-avatar
香港冫耐思得
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有