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

网页压缩,去除多余的空行,换行符,制表符,注释等
根据网上的代码改的,我把正则部分第一条件去掉了,因为实际应用中他把所有的空格都去除了,这样很不方便。
如果你觉得不去除好,可以使用CSS样式代替空格
/**
 * 压缩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 : 清除换行符,清除制表符,去掉注释标记 
* @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);
}

作者找不到了。。

你可能感兴趣的:(PHP)