我們開發時,需要獨立提取文章內容頁 body字段中(可以是自定義字段名稱)圖片,可以自定義調用圖片數量值。
函數代碼
請將代碼加入到 \include\extend.func.php 文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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 標簽中調用代碼如下:
1
2
3
4
5
6
7
8
9
|
{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 可以改為自定義字段名稱,但是需要在新建自定義字段時,一定要選擇 【使字段可以在列表的底層模板中獲得】-->
|
在內容模板中的調用代碼:
1
2
3
|
{dede:field.body function=getbodypics(@me,3)/}
<!-- body 可以改為自定義字段名稱,3為調用圖片數量。-->
|