php压缩输出
在很多时候,我们往往会问用php如何压缩html代码?常常看到别人网页上的html代码都是压缩之后输出的,那么我们如何操作呢?
因为本人使用的是php语言,所以这里告诉php的压缩函数,下方说明方法:
第一步,你需要对php的设置如下,php.ini:output_buffering = Off和output_handler = ob_gzhandler和zlib.output_compression = Off和zlib.output_compression_level = -1
第二步,你需要在apache下增加如下设置:
1 |
AddOutputFilter DEFLATE html php js css |
这样就可以对html php js css进行gzip压缩了。
第三步,你需要使用如下php压缩html并输出到客户端的函数:
1 |
function compress_html( $string ) {
|
2 |
return ltrim(rtrim(preg_replace( array ( "/> *([^ ]*) *</" , "//" , "'/\*[^*]*\*/'" , "/\r\n/" , "/\n/" , "/\t/" , '/>[ ]+</' ), array ( ">\\1<" , '' , '' , '' , '' , '' , '><' ), $string )));
|
3 |
} |
不要小看这个正则表达式,很强大的哦,经过我本人亲自测试可使用。
通过以上方法,你就可以将你的html代码压缩然后输出给客户端了,那么实际效果我们截图如下:
从上方的图片就可以看出,确实是html代码连续在一起的,而不是有很多回车和不必要的空格。
注意:经过测试,第一步和第二部可以不需要操作,直接使用正则进行替换也可直接达到上图所示的效果!!!