PHP压缩html网页代码原理(清除空格,换行符,制表符,注释标记)

本博启用了一个叫wp super cache的页面压缩工具,
源代码没有去查看,不过原理很简单。
咱们能够本身动手书写一个压缩脚本。php

清除换行符,清除制表符,去掉注释标记 。它所起到的做用不可小视。
现提供PHP 压缩HTML函数。请你们不妨试试看,感受还不错吧。html

不废话了,直接上代码:前端

<?php

/**
 * 压缩html : 清除换行符,清除制表符,去掉注释标记
 * @param $string
 * @return 压缩后的$string
 * */
function compress_html($string) {
    $string = str_replace("\r\n", '', $string); //清除换行符
    $string = str_replace("\n", '', $string); //清除换行符
    $string = str_replace("\t", '', $string); //清除制表符
    $pattern = array(
        "/> *([^ ]*) *</", //去掉注释标记
        "/[\s]+/",
        "/<!--[^!]*-->/",
        "/\" /",
        "/ \"/",
        "'/\*[^*]*\*/'"
    );
    $replace = array(
        ">\\1<",
        " ",
        "",
        "\"",
        "\"",
        ""
    );
    return preg_replace($pattern, $replace, $string);
}
?>

如上的代码只是进行了简单的替换操做,但真正的HTML页面压缩还不仅是如此。程序员

对于一个前端开发毕竟有经验的程序员来讲,通常习惯是把js文件放置在body中内容的最后面,
这样对于加载速度来讲,会更快的显示咱们的页面,但缺陷是,咱们的绑定事件可能会失效。
因此咱们还须要对页面的全部的js代码进行整理合并,并写入一个文件当中。
这样的话,咱们还须要在页面输出以前,对html代码进行匹配检索,函数

把全部符合js标签的内容进行正则,再按前后循序进行合并保存,插入到页面的末尾。工具

最终的效果以下:htm

这是个人首页压缩效果:
imageblog

页尾效果:事件

image
打开其中的连接,内容是已经压缩好了的js脚本。开发

相关文章
相关标签/搜索