代码如下:
/**
* 压缩 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 来压缩 HTML
注意事项
php 来压缩 HTM 实现的方式主要是用正则表达式去查找,替换。在 html 压缩的时候,主
要要注意下面几点:
1.HTML 文档中,多个空白字符等价为一个空白字符。也就是说换行等空白字符的删除是
不安全的,有可能导致部分元素的样式产生差异。
2.html 中有一个 pre,
表示 preformatted text. 里面的任何空白,都不能被删除,因此
pre,textarea
标签里面的内容格式需要保留,不能压缩。
3.HTML
中有可能有 IE 条件注释。这些条件注释是文档逻辑的一部分,不能被删除。因此
去掉 html
注释的时候,有些注释是不能去掉的,比如:
4.压缩嵌入式 js
中的注释要注意,因为可能注释符号会出现在字符串中,比如:
var
url =