重庆SEO, 关注并探索SEO与WEB技术。

折腾Typecho插件Minify

发布于 作者 [重庆SEO]

Markdown版本

有个使用typecho的项目,需要吧HTML源码压缩一下!我的博客现在的Minify代码部分可以复用。

看了一下Typecho手册的插件开发说明,也Google了一下Demo, 捣鼓成功

项目GITHUB地址 https://github.com/imnoco/Minify_for_Typecho/

把文件放在 /usr/plugins/Minify/ 目录下即可,功能仅仅就是启用和禁用!

代码还算是轻量,针对绝大多数情况的HTML压缩可用,为了偷懒,对于可能的特殊需求搞个自定义设置好像也暂无必要,估计知道要自定义的人,也都自己捣鼓了!

Minify核心部分代码如下

public static function minify($buffer){

    $content=$buffer;

    // 1.标签前后留空格是为了a标签前后的文字不连在一起,但会存在<> text </>
    // 2.不针直接对多余空格缩减,避免对<pre><code>等特殊标签中的内容影响
    $pattern = array(
      "/\s+</",
      "/>\s+/",
      "/>\s+</",
        //"/\s+/",
      "/ \"/",
      "/<p><br[^>]*><\/p>/i"
    );
    $replace = array (
      " <",
      ">",
      "><",
        //"",
      "\"",
      ""
    );
    $content = preg_replace($pattern, $replace, $content);

    // 去除注释
    $content = preg_replace("/<!--[^\!]+-->/i","", $content);

    // 去除schema
    $content = preg_replace("/\sitem\w+\s/i","", $content);
    $content = preg_replace("/\sitem\w+\=[\"\'][^\"\']+[\"\']/i","", $content);

    return $content;
}

参考与扩展阅读

第一个插件Hello World
分类:Typecho

Tags: 折腾, 插件, Typecho,

本文标题: 折腾Typecho插件Minify

本文地址: https://seonoco.com/blog/minify-for-typecho

版权说明: 本站遵循 CC BY-NC-SA 4.0 协议, 未表明转载信息均为原创或整理,转载或引用请注明出处,以便溯本求源。

补充说明: 本文在本站发布于2017-06-26,文中部分内容可能存在过时或不正确,请知晓!如果可以请留言告知。

本文是否有所帮助?
点赞
说一说
打赏