78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

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

站长朋友们都知道,网页越小,打开的速度就是越快,对于SEO有帮助。所以,我们往往会问用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下增加如下设置:

AddOutputFilter DEFLATE html php js css

这样就可以对html php js css进行gzip压缩了。

第三步,你需要使用如下php压缩html并输出到客户端的函数:

function compress_html($string) {

  return ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/*[^*]**/'","/rn/","/n/","/t/",'/>[ ]+</'),

         array(">1<",'','','','','','><'),$string)));

}

上面的这个正则表达式,很强大的哦,经过我本人亲自测试可使用。

通过以上方法,你就可以将你的html代码压缩然后输出给客户端了。不信你可以查看源代码,就是一行,网页瞬间压缩很小。

拓展:

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

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

$str = preg_replace("~>s+<~", "><",preg_replace("~>s+rn~", ">", $str));

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

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

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

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

这里要是页面中的js、jq都已经抽出去之后,可以使用第二种方式,这样压缩的更加的彻底。要是页面中的js、jq没有抽取干净的话,我建议还是采用第一种方式只压缩网页中除了js、jq以外的html元素。

本文链接:http://78moban.cn/post/14234.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部