# dedecms如何调用文章正文中的N张图片

*Published:* 2023-10-23
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年10月23日，已超过 180天没有更新



1、打开文件\\include\\extend.func.php，在文件最后添加下面代码：

```
/*** dedecms调用文章正文中的N张<a class="tag_link" href="https://www.xarjtc.com/tag/pic" target="_blank" title="查看图片此标签更多文章"><abbr title="">图片</abbr></a>* 

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\"/>";
```

2、前台代码调用，分两种情况。

（1）在列表中，也就是dede:arclist 和 dede:list列表调用时，采用下面的代码：

```
{dede:arclist addfields='body'  channelid='1' row='8'}  
[field:body function=getbodypics(@me,3)/]
{/dede:arclist}
```

（2）在内容模板中的调用代码：

```
{dede:field.body function=getbodypics(@me,3)/}
```

备注：其中3是指调用3张图片。