«

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

时间:2024-1-28 13:32     作者:韩俊     分类: PHP


今天无意中看到谷歌的网页输出的 html 代码竟然都被压缩成了一段代码了。感觉挺有趣的,理论上不知道这样是否能算的上是一种优化,但感觉这样做的话应该一定程度上减少了页面网络传输的体积。下面本人也分享一种利用 php 清除html代码中的空格,换行符,制表符,注释标记等以达到压缩输出 html 的目的。其实如果使用的是smarty模板开发的话,可以直接在模板中使用strip标签即可达到相同的目的。

/**
*压缩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代码、去掉多余的空格、删除回车换行符等等。下面就写一个更霸气的方法来实现这个想法吧。思路如下:

function cleanHtml($str){ 
    $str=trim($str);
    $str=strip_tags($str,"");
    $str=ereg_replace("\t","",$str);
    $str=ereg_replace("\r\n","",$str);
    $str=ereg_replace("\r","",$str);
    $str=ereg_replace("\n","",$str);
    $str=ereg_replace(" "," ",$str);
    return trim($str);
}

标签: php php教程

热门推荐