导航
关闭

达达说

当前位置:首页 > 网络教程 - 正文

帝国CMS模板利用PHP自动获取并显示内容第一张图的方法

  人参与 |更新时间: 2020年01月14日 16:08

有的时候客户定做模板需要一些特殊改造,比如不设置标题图片,但是又想自动获取到内容的第一张图片,这样的的改造要先获取内容信息,然后正则先匹配内容数据里的图片。

利用PHP调用并获取显示具体代码如下:

function diy_imgFirst($r){    
global $empire,$dbtbpre;    
        $fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_1 where id='$r[id]'");    
        $newstext=stripslashes($fr['newstext']);//去除反斜杠并且获取文章正文内容    
        $pattern = "/.*src=\"([^^]*?)\".*/i"; //正则    
        preg_match_all($pattern, $newstext, $match);    
        if(count($match[1])>=1){    
             $diyfpic=$match[1][0];    
        }else{    
             $diyfpic='/e/data/images/notimg.gif';    
        }    
return $diyfpic;    
}  

改进版

function diy_getimg($r,$n){    
    global $empire,$dbtbpre,$class_r;    
        $tbname=$class_r[$r[classid]][tbname];    
        $fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_".$tbname."_".$r[fstb]." where id='$r[id]'");    
        $newstext=stripslashes($fr['newstext']);    
        $pattern = "/<img.*?src.*?=.*?[\'|\"]([^\s]+\.*?)[\'|\"].*?>/i";     
        preg_match_all($pattern, $newstext, $match);    
        if(count($match[1])>=$n){    
             $diypic=$match[1][$n-1];    
        }else{    
             $diypic='/e/data/images/notimg.gif';    
        }    
        return $diypic;    
}    
 

编辑:达达(微信/QQ:57371994)

标签:   帝国CMS   帝国CMS教程   达达说

来源:达达说(微信/QQ:57371994),欢迎分享!

本文链接:https://www.idadashuo.com/jiaocheng/135.html

评论专区

留言与评论(共有 0 条评论)
表情:   
验证码: