emlog根据图片数量来改变显示方式

2021-05-08 07:02:52 / 4 评论 / 6385 阅读 / 正在检测是否收录...

一直以来我博客的文章列表页面都是那么的单调,无论里面的图片或多或少都是取得首张图片,标题,摘要。电脑上看吧还是可以的,但是手机上的阅读体验并不是太好,所以在其他模板里面扒出来了这个代码。可以获取文章内的图片数量,当图片大于或者小于多少多少张的时候可以使用特定的显示方式。

首先在module.php里面添加代码:

<?php
function img_array($content){
//正则获取文章内的外链图片数量
preg_match_all("/\]\((.*?)\)/", $content, $imgarr);
$result = $imgarr[1];
return $result;
}
?>
<?php
function img_count($content){
return count(img_array($content));
}
?>

然后在文章列表页,一般是log_list.php文件内这样调用:

<?php $logImgCount = img_count($value['content']); ?>
<?php if(img_count($value['content']) >=1 && img_count($value['content']) < 3){?>
<!--图片小于三张时显示-->
<?php }elseif(img_count($value['content']) >= 3){?>
<!--图片等于三张时显示-->
<?php }elseif(img_count($value['content']) == 0){?>
<!--无图片时显示-->
<?php }?>

本教程用于emlog pro版本,如果是6.0或者5.3.1的话第一步的代码是

<?php
function img_array($content){
//正则获取文章内的外链图片数量
preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]*>|is", $content, $imgarr);
$result = $imgarr[1];
return $result;
}
?>
<?php
function img_count($content){
return count(img_array($content));
}
?>

评论(4)

取消
    1. 头像
      chenmoLv.2
      地板
      http://tssz.ltd/?post=4
       回复
    1. 头像
      chenmoLv.2
      板凳
      我只上传了一个图片,怎么img_count获取到的数目是2?
       回复
      1. 头像
        小怪兽
        @chenmo:你网址多少
         回复
    1. 头像
      123123Lv.2
      沙发
       回复