织梦dedecms自定义功能函数(1):调用body中的图片(可多张)

前言

岛主会整理或者开发一系列常用功能函数。所有自定义功能函数都是放在includeextend.func.php文件里。

这次织梦自定义功能函数功能为:独立提取 body字段中(可以是自定义字段名称)图片,可以自定义调用图片数量值。

函数代码

请将代码加入到 includeextend.func.php 文件中

function getbodypics($string, $num)
{
    preg_match_all("/<img([^>]*)s*src=('|")([^'"]+)('|")/",$string,$matches);
    $imgsrc_arr = array_unique($matches[3]);
    $count = count($imgsrc_arr);
    $i = 0;
    foreach($imgsrc_arr as $imgsrc)
    {
        if($i == $num) break;
        $result .= "<img src="$imgsrc"/>";
        $i++;
    }
    return $result;
}
 
// $result .= "<img src="$imgsrc"/>"; 这里可以给调用图片增加一些样式等。
// 例如:$result .= "<img class='imgs' src="$imgsrc"/>";
函数调用方法

在 dede:arclist 和 dede:list 标签中调用代码如下:

{dede:arclist addfields='body'  channelid='1' row='8'}  
[field:body function=getbodypics(@me,3)/]
{/dede:arclist}
<!-- body 可以改为自定义字段名称。 channelid为内容模型id,数字3,为调用图片数量,可以根据需要更改 -->
 
{dede:list}
[field:body function=getbodypics(@me,3)/]
{/dede:list}
<!--body 可以改为自定义字段名称,但是需要在新建自定义字段时,一定要选择 【使字段可以在列表的底层模板中获得】-->
 

在内容模板中的调用代码:

{dede:field.body function=getbodypics(@me,3)/}
 
<!-- body 可以改为自定义字段名称,3为调用图片数量。-->

https://blog.csdn.net/dededao/article/details/77504478

原文地址:https://www.cnblogs.com/jizl/p/9488085.html