这两天发现博客首页的缩略图居然一直用的是本地的图片,这就太浪费服务器的空间了,因为本站的图片都是上传到U-file的。
然后我就开始翻模板文件。最后在include.php文件里面看到了。
那么问题又来了。我虽然学过C#,看过python,但是对PHP可是一脸懵逼呀。
一开始我想偷懒,就去这个模板的交流群问,去Z-Blog的社区问。额,似乎然并卵。
还是得自己动手,丰衣足食呀。
自己用现有的只是分析了一下这些代码
function Blogs_thumbnail($id, $sltww, $slthh, $link) { global $zbp, $article; $article = GetPost((int)$id); $random = mt_rand(1, 10); preg_match_all('/<img.*?(?: |\t|\r|\n)?src=['"]?(.+?)['"]?(?:(?: |\t|\r|\n)+.*?)?/>/sim', $article->Content, $strResult, PREG_PATTERN_ORDER); $n = count($strResult[1]); //文章中图片数量 $zdsuoluetu = $article->Metas->Blogs_suoluetu; //是否手动设置缩略图? if (empty($zdsuoluetu)) { // 如果不是吧 if ($n > 0) { //再判断图片数量是否大于0. $sltu = $strResult[1][0]; //如果是则取第一张图片为缩略图 } else { $sltu = "{$zbp->host}zb_users/theme/{$zbp->theme}/image/random/{$random}.jpg"; //否则就在本地目录10张图片内随机选一张作为缩略图 } } else { $sltu = $zdsuoluetu; //缩略图为手动设置的缩略图 } $sltu = "<img src="{$zbp->host}zb_users/theme/{$zbp->theme}/template/timthumb.php?src={$sltu}&w={$sltww}&h={$slthh}&zc=1" alt="{$article->Title}" />"; //这里就是图片地址 if ($link == 1) { $sltu = "<a href="{$article->Url}" title="{$article->Title}">{$sltu}</a>"; } return $sltu; }
然后回到首页。检查了一下这些缩略图
把链接弄出来
大概就是将这张图片经过timthumb.php处理后展现出来。我的远程加速地址是pan.lanol.cn,所以我只要想办法将www换成pan就行了
然后我就百度搜索php,菜鸟教程走一波,应该是字符串处理一下就行了,所以这里选择php string
有两个替换,区分大小写和不区分大小写。选择不区分吧。
然后我就傻乎乎的把这句话复制到代码里面去了。echo str_ireplace("www","pan",$strResult[1][0]);
然后刷新。。
好吧,我去看下echo的意思才知道这玩意就是输出。。
嗯,这是个意外。
最终将代码改成了这样子
function Blogs_thumbnail($id, $sltww, $slthh, $link) { global $zbp, $article; $article = GetPost((int)$id); $random = mt_rand(1, 10); preg_match_all('/<img.*?(?: |\t|\r|\n)?src=['"]?(.+?)['"]?(?:(?: |\t|\r|\n)+.*?)?/>/sim', $article->Content, $strResult, PREG_PATTERN_ORDER); $n = count($strResult[1]); $zdsuoluetu = $article->Metas->Blogs_suoluetu; if (empty($zdsuoluetu)) { if ($n > 0) { $sltu = str_ireplace("www","pan",$strResult[1][0]); } else { $sltu = "{$zbp->host}zb_users/theme/{$zbp->theme}/image/random/{$random}.jpg"; } } else { $sltu = $zdsuoluetu; } $sltu = "<img src="{$zbp->host}zb_users/theme/{$zbp->theme}/template/timthumb.php?src={$sltu}&w={$sltww}&h={$slthh}&zc=1" alt="{$article->Title}" />"; if ($link == 1) { $sltu = "<a href="{$article->Url}" title="{$article->Title}">{$sltu}</a>"; } return $sltu; }
完美解决
评论 (0)