Maison  >  Article  >  php教程  >  php 获取文章内容的第一张图片实例

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

WBOY
WBOYoriginal
2016-06-13 09:47:07819parcourir

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

首先看一个函数:

 代码如下 复制代码

function getpic($str_img){
    preg_match_all("/php 获取文章内容的第一张图片实例/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 = '~php 获取文章内容的第一张图片实例]* />~';
            preg_match_all( $soImages, $soContent, $thePics );
            $allPics = count($thePics[0]);
            preg_match('/php 获取文章内容的第一张图片实例/i',$thePics[0][0],$match);
            dump($thePics);
            if( $allPics> 0 ){
                echo "php 获取文章内容的第一张图片实例";//获取的图片名称
            }
            else {
                echo "没有图片";
            }

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

            $soContent = $info['content'];
            $soImages = '~php 获取文章内容的第一张图片实例]* />~';
            preg_match_all( $soImages, $soContent, $thePics );
            $allPics = count($thePics[0]);
            dump($thePics);
            if( $allPics> 0 ){
                echo $thePics[0][0]; //获取的整个Img属性
            } else {
                echo "没有图片";
            }

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

            $soImages = '~php 获取文章内容的第一张图片实例]* />~';
            $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("/php 获取文章内容的第一张图片实例/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;

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn