复杂点的:PHP有GZip模块,可以把服务器端的资源压缩后发送到客户端再解压,网上教程很多,自行百度
再高端点的:YUI Compressor之类的牛人团队开发的玩意
实际上日流量没有十来万以上的网站,弄这些玩意根本没意义。
第一步,你需要对php的设置如下:php.ini: output_buffering = Off output_handler = ob_gzhandler zlib.output_compression = Off zlib.output_compression_level = -1
第二步,你需要在apache下增加如下设置:
AddOutputFilter DEFLATE html php js css
这样就可以对html php js css进行gzip压缩了。
第三步,你需要使用如下php压缩html并输出到客户端的函数:
function compress_html($string) { return ltrim(rtrim(preg_replace(array("/>*([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'), array(">\\1<",'','','','','','><'),$string)))}
上面的这个正则表达式,很强大的哦,经过我本人亲自测试可使用。
通过以上方法,你就可以将你的html代码压缩然后输出给客户端了。不信你可以查看源代码,就是一行,网页瞬间压缩很小。
貌似是Phpstorm7以上的版本有BUG,换成6就可以。压缩js,利用jsmin类:
header('Content-type: text/javascript')
require 'jsmin.php'
echo JSMin::minify(file_get_contents('common.js') . file_get_contents('common2.js'))