ZblogPHP自动调用文章第一张图为缩略图及随机缩略图

考虑到有些主题,必须自己设置缩略图才能调用显示,其实也可以采用自动缩略图的方法,比如在内容中有图片的时候自动选择第一张图作为缩略图,我们可以在发布文章的时候就不用单独设置了。且在没有图片的时候,我们可以随机调用文件夹中准备好的几个图片作为随机展示,这样的案例在很多博客模板中都有见到。废话不多说,上代码:

PS:以下代码放到调用文章列表循环内即可。

通用代码:

{php}
$temp=mt_rand(1,5);
$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/suoluetu/$temp.png";
{/php}

如果文中有图片会自动获取第一张图片为缩略图,如果没有图片,我们就从在当前主题的/style/suoluetu/文件夹中调用5个准备好的png图片,名称分别命名为:1.png,2.png,3.png,4.png,5.png。且如果需要多个我们可以修改上面的参数。(随机数值区间与随机图片路径及图片格式 可根据自己需求更改)

调用代码:

<img src="{$temp}" />

需要什么样式,自己添加即可。

但今天小袁突发奇想,我用的这款主题缩略图已经是自动获取文章中的第一张图片了,平时发布文章的图片都不怎么好看,所以导致调用出来也不好看,就想着改一下,让缩略图只随机调用指定文件夹里的一些图片,不调用文中图片,这样就可以自己去找一些好看的图片,设置好尺寸,随机调用,数量越多,重复度越低,提高整站的美观性。

只需要把通用代码删除几行即可:(调用代码还是和上边一样)

{php}
$temp=mt_rand(1,5);
$temp=$zbp->host."zb_users/theme/$theme/style/suoluetu/$temp.png";
{/php}


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

相关推荐