帝国CMS灵动标签调用新闻正文内容第一张图片的方法

 更新时间:2015年12月30日 16:42  点击:2709

有时候我们在建站的过程当中需要调用内容页中正文的第一张图片(并不是缩略图),这样就会无从下手,但其实对不懂开发的站长是太难了,往往是会用标题图片来取代,下面分享网友们贡献出来的方法

在connect.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){
                //return $match[1][0];//返回第一张图片地址
                                $diyfpic=$match[1][0];
        }else{
                                $diyfpic=$r['titlepic'];
        }
return $diyfpic;
}

还是修改这个文件,搜索

$titleurl=sys_ReturnBqTitleLink($r);//链接

在下方增加以下代码:

$diyfpic=diy_imgFirst($r);

还是这个文件,搜索

$listtemp=str_replace('[!---titleurl--]',$titleurl,$listtemp);

在下方增加以下代码:

$listtemp=str_replace('[!---diyfpic--]',$diyfpic,$listtemp);

后台在 管理列表模板 的list.var中,直接使用[!---diyfpic--]

最好把

$diyfpic=$r['titlepic'];
改成
$diyfpic='e/data/images/notimg.gif';

因为一般没有大图,就没有缩略图。或者留空也行。

以上方法在帝国CMS 6.6中测试通过,7.0未测试


[!--infotagslink--]

相关文章