我博客文章的图片都是七牛云外链,但是有的文章放入太多图片,如果每张图片都用高清图打开,就会变得很卡。

七牛云提供图片压缩服务,只需要制定好规则,在图片链接末尾加上后缀就可以实现压缩、水印等工作。我很早就开始用七牛云了,不可能把以前的文章一篇一篇翻出来替换链接,所以我们需要一个简单点的方法,用正则表达式批量替换。

找了许久源码,找到一个方法,对内容进行输出前的处理。

Typecho_Plugin::factory('Widget_Abstract_Contents')->content = array('iClass', 'iWork');
Typecho_Plugin::factory('Widget_Abstract_Contents')->excerpt = array('iClass', 'iWork');

class iClass {
	public static function iWork($content,$widget,$lastResult)
	{
		$content = empty($lastResult) ? $content : $lastResult;
		if ($widget instanceof Widget_Archive) {
			//七牛缩略图
			$content = preg_replace('/(qiniudn\.com\/)+(.*)(.jpg|.jpeg|.png|.gif)+/i', '$1$2$3-haipz.com.picture', $content);
		}
		return $content;
	}
}
将上面代码放入主题模板下的function.php内即可。


转载保留版权:http://haipz.com/blog/i/6477 - 海胖博客