有时候我们在建站的过程当中需要调用内容页中正文的第一张图片(并不是缩略图),这样就会无从下手,但其实对不懂开发的站长是太难了,往往是会用标题图片来取代,下面分享网友们贡献出来的方法
在connect.php搜索“//替换列表模板/标签模板/搜索模板”
在上方增加以下代码:
01
//获取内容页第一张大图片
02
function diy_imgFirst($r){
03
global $empire,$dbtbpre;
04
$fr=$empire->fetch1("select
newstext from {$dbtbpre}ecms_news_data_1 where id='$r[id]'");
05
$newstext=stripslashes($fr['newstext']);//去除反斜杠并且获取文章正文内容
06
$pattern = "/.*src="([^^]*?)".*/i"; //正则
07
preg_match_all($pattern, $newstext, $match);
08
if(count($match[1])>=1){
09
//return
$match[1][0];//返回第一张图片地址
10
$diyfpic=$match[1][0];
11
}else{
12
$diyfpic=$r['titlepic'];
13
}
14
return $diyfpic;
15
}
还是修改这个文件,搜索“$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未测试