Typecho计算文章内图片标签量和输出图片代码

适用于图片型主题.仅计算文章内使用的img标签数量.

在主题function.php里添加如下:

function imgNum($content){
$output = preg_match_all('#<img(.*?) src="([^"]*/)?(([^"/]*)\.[^"]*)"(.*?)>#', $content,$s);
$cnt = count( $s[1] );
return $cnt;
}

拓展:

function imgNumCCC($content){
$output = preg_match_all('#<img(.*?) src="([^"]*/)?(([^"/]*)\.[^"]*)"(.*?)>#', $content,$s);
$cnt = count( $s[1] );
    if(intval($cnt)>=4){ //当图片大于或等于4张时,启用此方法
    for ($i=1; $i < 5; $i++) { 
        if($i==4){ //判断是否最后一张,如果为最后一张,则进行计算/增加className
            $n = 'ImgBOX NUM" title="'.(intval($cnt)-4).'+"'; //最后一张时的className
        }else{
            $n = 'ImgBOX"'; //正常的className
        }
        $c .= '<div class=" '.$n.'><img data-src="'.$s[2][$i].$s[3][$i].'"></div>';//因为我加了图片缓加载,所以图片链接放在了data-src里.
    }
    $c = '<div class="i-img">'.$c.'</div>'; //输出
}
echo $c;
}

调用代码:

<?php echo ''.imgNum($this->content).'' ; ?>
文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/44
0 评论
3.1k

发表评论

!