dede文章自定义获取任意图集显示数量

发布时间:2020-02-23 已收录 阅读:330次

本方法适用与想任意调用图集数量显示多少(在extend.func.php 文件添加一下代码)

//方法如下
/*
*
*本方法有默认值
*
*/
function listimgsrc($aid,$limit=0,$num=2){
     global $dsql;
     $imgurls = '';
    $channel = '';
    $addtable='';   
     $row1 = $dsql -> getone("Select channel From dede_archives where id='$aid'");
     $channel = trim($row1['channel']);
     $row2 = $dsql -> getone("Select addtable From dede_channeltype where id='$channel'");
     $addtable = trim($row2['addtable']);
     $row = $dsql -> getone("Select imgurls From `$addtable` where aid='$aid'"); 
     $imgurls = $row['imgurls'];
     preg_match_all("/{dede:img (.*)}(.*){\/dede:img/isU", $imgurls, $wordcount);
     $arr = [];
    foreach ($wordcount[1] as $v) {
         $arr[] = explode('=',$v);
    }

    foreach ($arr as $k => $v) {
        foreach ($v as $k1 => $v1) {
            if($k1 == '0' || $k1 == '3' || $k1 == '4'){
            unset($arr[$k][$k1]);
            }
            if($k1 == '1'){
                $arr[$k][$k1] = str_replace("'",'',trim(str_replace('text','',$v1)));
            }
            if($k1 == '2'){
                $arr[$k][$k1] = str_replace("'",'',trim(str_replace('width','',$v1)));
            }
        } 
    }

    foreach ($arr as $k => $v) {
        
        $img_url = "<img src='{$v[1]}' alt='{$v[2]}'>";
        $arr[$k] = $img_url;
    }

    
    $a = array_splice($arr,$limit,$num);

    foreach ($a as $k => $v) {
      return $v;
    }

}

使用范围

文章循环,包括list循环或者arclist循环里使用最合适不过了

调用方式

[field:id function="listimgsrc(@me)"/]


版权声明:本文为博主原创文章,未经博主允许不得转载。

本页网址http://www.kiraer.com/study_show/37.html
打赏 扫码支持

版权声明:本站原创文章,于2020-02-23,由 kira 发表!

转载请注明:dede文章自定义获取任意图集显示数量 - kiraer个人网站技术博客