函数自动剔除标记直接的多余空白,而且会只能判断标记的属性的属性值是否被""包裹之间,如果有就剔除属性和属性值之间的所有空格,如果没有""就保留一个空格,避免破坏html结构。感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:
/**
* 压缩HTML代码
*
* 函数名: compress_html
* 参数: $string
* 返回值: 压缩后的$string
* @author 编程之家 jb51.cc jb51.cc
**/
function compress_html($string) {
$string = str_replace("\r\n",'',$string); //清除换行符
$string = str_replace("\n",$string); //清除换行符
$string = str_replace("\t",$string); //清除制表符
$pattern = array (
"/> *([^ ]*) *</",//去掉注释标记
"/[\s]+/","/<!--[\\w\\W\r\\n]*?-->/","/\" /","/ \"/","'/\*[^*]*\*/'"
);
$replace = array (">\\1<"," ","","\"","");
return preg_replace($pattern,$replace,$string);
}