现在zblog以及其他博客程序的大多数主题模版为了美观和可读性都会在列表页给文章加上缩略图。有的主题是用插件,有的在主题内直接用代码实现,今天我们就来看下zblogPHP如何用代码的方式提取文章第一张图片作为缩略图且文章没有图片时自动随机调用自定义图片。
ZblogPHP
我们需要修改的文件为:zb_users\theme\default\template\post-multi.php(列表文章摘要)和post-istop.php(列表置顶文章摘要)
用编辑器(推荐Notepad++)打开post-multi.php和post-istop.php,在代码前添加:
{php} $temp=mt_rand(1,4); $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/"; $content = $article->Content; preg_match_all($pattern,$content,$matchContent); if(isset($matchContent[1][0])) $temp=$matchContent[1][0]; else $temp=$zbp->host."zb_users/theme/$theme/style/$temp.jpg"; //需要在当前使用的主题style文件夹下放置4张jpg格式的文件,命名为1、2、3、4 {/php}
然后找到(默认模板为例):
<div class="post-body">{$article.Intro}</div>
修改为:
<div class="post-body"><img src="{$temp}" />{$article.Intro}</div>
# 如果想放5张或者6张可以把$temp=mt_rand(1,4); 中的4改为对应的数字!