做网站产品详情页时会需要调用一张图片作为产品主图,如果调用缩略图的话可以用:<img src="{dede:field.picname runphp='var_dmp(@me)' /}" height="" width="">实现。如果不想要缩略图需要调用文章第一个图片做主图的话怎么实现?
下面模板社小编介绍两种织梦文章页获取文章的第一张图片的方法。
一:
在include/extend.func.php最后 加入一个自定义函数,然后再在列表页直接调用。
/**获取字符串的第一个图片地址*/
function getbodyfirstpic($str_img){
preg_match_all("//isU",$str_img,$ereg);//正则表达式把图片的整个都获取出来了
$img=$ereg[0][0];//图片
$p="#src=('|")(.*)('|")#isU";//正则表达式
preg_match_all ($p, $img, $img1);
$img_path =$img1[2][0];//获取第一张图片路径
//return $img_path; //仅返回地址
return $img; //返回整个图片
}
文章页面调用jpg和png格式通用:
{dede:field.body function="getbodyfirstpic(@me)" /}
二:
在includes/extend.func.php末尾添加方法:
//取第一张图地址
function firstimg($str_pic) {
$str_sub=substr($str_pic,0,-7).".jpg";//删除缩略图字符串最后七位,然后再补上后缀.jpg
return $str_sub;
}
模板调用:
<img src="{dede:field name='litpic' function=" />
或
<img src="[field:litpic function='firstimg(@me)'/]" />

