服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

如何用php压缩html代码并输出

时间:2016-08-10 16:43来源:未知 作者:最模板 点击:
用php如何压缩html代码?怎么让代码变成一行,压缩输出。常常看到别人网页上的html代码都是压缩之后输出的,那么我们如何操作呢? 因为本人使用的是php语言,所以这里告诉php的压缩
用php如何压缩html代码?怎么让代码变成一行,压缩输出。常常看到别人网页上的html代码都是压缩之后输出的,那么我们如何操作呢?
因为本人使用的是php语言,所以这里告诉php的压缩函数,下方说明方法:
 
第一步,你需要对php的设置如下:
  1. php.ini:
  2.  
  3. output_buffering = Off
  4.  
  5. output_handler = ob_gzhandler
  6.  
  7. zlib.output_compression = Off
  8.  
  9. 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.  
  3. return ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'),
  4. array(">\\1<",'','','','','','><'),$string)));
  5.  
  6. }
 
上面的这个正则表达式,很强大的哦,经过我本人亲自测试可使用。
通过以上方法,你就可以将你的html代码压缩然后输出给客户端了。不信你可以查看源代码,就是一行,网页瞬间压缩很小。
 

拓展:

这里有两种压缩html代码的方式。

第一种:只压缩html代码,不压缩js,jq中的空行,换行等。


  1. $str = preg_replace("~>\s+<~", "><",preg_replace("~>\s+\r\n~", ">", $str));

压缩之后的结果显示,除了js,jq的代码除外,其他的代码都是一行。

第二种:只要是页内的代码全部的压缩,包括js、jq。


  1. $str = ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'),array(">\\1<",'','','','','','><'),$str)));

压缩之后的结果就是一行,不管js、jq。

这里要是页面中的js、jq都已经抽出去之后,可以使用第二种方式,这样压缩的更加的彻底。要是页面中的js、jq没有抽取干净的话,我建议还是采用第一种方式只压缩网页中除了js、jq以外的html元素。
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容