background image

代码如下:
 

/** 
* 压缩 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 =