emlog 缩略图不同实现方法:正文-附件-随机图片
网站文章 2026-09-23 15:04:59 3 0

  实现emlog列表缩略图先调用正文第一张图片,没有则调用附件图片,如果前两者都没有则调用随机图片

  第一步:首先在模板的module.php文件中最后面加入如下代码

<?php
//全局匹配正文中的图片并存入imgsrc中
function img_zw($content) {
        preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]*>|is", $content, $img);
        $imgsrc = !empty($img[1]) ? $img[1][0] : '';
        if($imgsrc):return $imgsrc;
        endif;
}
//Custom: 获取附件第一张图片
function img_fj($logid) {
        $db = MySql::getInstance();
        $sql = "SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$logid." AND (`filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png') ORDER BY `aid` ASC LIMIT 0,1";
        $imgs = $db->query($sql);
        $img_path = "";
        while($row = $db->fetch_array($imgs)) {
                $img_path .= BLOG_URL.substr($row['filepath'],3,strlen($row['filepath']));
        }
        return $img_path;
}
?>

第二步:然后在log_list.php的foreach循环中加入如下代码

<?php

if(img_zw($value['content'])) {

        $imgurl = img_zw($value['content']);

} elseif(img_fj($value['logid'])) {

        $imgurl = img_fj($value['logid']);

} else {

        $imgurl = TEMPLATE_URL.'images/'.rand(1,5).'.jpg';

}

?><p><img src="<?php echo $imgurl;?>" rel="external nofollow"  /></p>

该办法不适用于 emlog pro 版
pro 用户直接使用文章封面即可

文章说明
本文标签:
©版权声明
本站提供的一切软件、教程和游戏辅助仅限用于娱乐和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集,版权争议与本站无关。如有侵权请邮件与我们联系处理。敬请谅解!6594404@qq.com