zoukankan      html  css  js  c++  java
  • PHP压缩html网页代码原理(清除空格,换行符,制表符,注释标记)

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

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

    不废话了,直接上代码:

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

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

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

    把所有符合js标签的内容进行正则,再按先后循序进行合并保存,插入到页面的末尾。

    最终的效果如下:

    这是我的首页压缩效果:
    image

    页尾效果:

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

  • 相关阅读:
    Centos 7 zabbix 实战应用
    Centos7 Zabbix添加主机、图形、触发器
    Centos7 Zabbix监控部署
    Centos7 Ntp 时间服务器
    Linux 150命令之查看文件及内容处理命令 cat tac less head tail cut
    Kickstart 安装centos7
    Centos7与Centos6的区别
    Linux 150命令之 文件和目录操作命令 chattr lsattr find
    Linux 发展史与vm安装linux centos 6.9
    Linux介绍
  • 原文地址:https://www.cnblogs.com/phpdragon/p/3675336.html
Copyright © 2011-2022 走看看