destoon压缩html输出 压缩页面大小

 DestoonCMS   高蒙   阅读(1731)   评论(0)   2016-02-02 10:14:20    destoon压缩html 压缩html 压缩页面 destoon二次开发 


项目中用destoon二次开发的时候,有新的需求就是要将destoon的模版解析输出之后,在压缩网页大小。去除掉多余的空格,空行等。这样做的好处是将页面的大小压缩很小,保证在相同的网速下,打开网页的速度更快。

注意:

    1、压缩网页的时候,最好将js、jquery抽出去,不然在压缩网页的时候,可能会出现报错,不执行。

    2、压缩成一行之后,可以稍微的提高菜鸟仿站的难度。

下面我们来修改destoon的文件:

处理模板文件 template()函数。

文件地址 :/include/global.func.php

    function template($template = 'index', $dir = '') {...}

    里面函数 template_compile();

文件地址:/include/template.func.php

function template_compile($from, $to) {} 

 里面调用 函数template_parse()。 

function template_parse($str) {
    $str = preg_replace("~>\s+<~", "><",preg_replace("~>\s+\r\n~", ">", $str));
    //$str = ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'),array(">\\1<",'','','','','','><'),$str)));
    return $str;
}

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

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

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

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

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

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

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

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



相关文章



我要评论


站长昵称:(*)

输入内容:


评论列表


高蒙

男,程序猿一枚

 

人生要是没有理想, 那跟一条咸鱼有什么分别。


关于我

  http://www.shuchengxian.com

高蒙个人博客是以PHP技术为主的程序员个人博客。博客主要发布php开发中遇到的问题以及解决办法,同时个人博客也分享网站模板素材,jquery插件等方面素材。


站点声明:相关侵权、举报、投诉及建议等,请发E-mail:936594075#qq.com(#替换成@)。

Copyright © 2018, www.shuchengxian.com, All rights reserved. 个人博客皖公网安备 34152302000022号 皖ICP备15015490号

关键词:个人博客,PHP博客,PHP博客程序,高蒙博客,高蒙个人博客,php程序员博客,程序员个人博客