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腳本。開發

相關文章
相關標籤/搜索