PHP压缩html网页代码,清除空格,制表符,注释标记

利用PHP压缩html网页代码来减小页面体积,提高网页前端的加载速度也是一种非常不错的网页优化的方法 (PHP压缩html主要就是通过清除空格,换行符,制表符,注释标记等来减小页面的体积,从而减小页面的数据传输量)。

PHP压缩HTML源码

其实如果使用的是smarty模板开发的话,可以直接在模板中使用strip标签即可达到相同的目的。

    前面用str_replace,是为了删除注释和多余的空格,需要用正则,但能不用正则就不用。这是后面为什么用preg_replace的原因。

<?php 
/** 
* 压缩html : 清除换行符,清除制表符,去掉注释标记 
* @param $string 
* @return压缩后的$string
* */ 
function compress_html($string){ 
$string=str_replace("\r\n",'',$string);//清除换行符 
$string=str_replace("\n",'',$string);//清除换行符
$string=str_replace("\t",'',$string);//清除制表符
$pattern=array(
"/> *([^ ]*) *</",//去掉注释标记
"/[\s]+/",
"/<!--[^!]*-->/",
"/\" /",
"/ \"/",
"'/\*[^*]*\*/'"
);
$replace=array (
">\\1<",
" ",
"",
"\"",
"\"",
""
);
return preg_replace($pattern, $replace, $string);
}

    这个函数有以下局限性。如果html代码中出现以下情况,可能会出现异常:

    1.标签中出现2个或以上的空格,大家知道规范的写法是:<a_href=''>,但是有人就会写成:<a__href=''>,其中_表示空格,这种情况会导致异常错误;

    2.除了标签以外存在一个空格,那么无法清除;

    3.可能正文中存在必要的空格也被清除;

    4.代码中如果存在javascript,并且有//存在,那么由于没有换行了,所以后面的js代码都被注释掉了,导致js出错或者不起作用;

    5.其他未知异常。

查看 HTML php的相关文章

转载本站原创文章请注明:文章转自 挨踢路,链接: https://itlu.org/articles/1856.html

已有 4 条评论

  1. 新鲜出炉教程,占位再看。

    1. 这个仅仅是前奏~~~因为早上看到一条评论,说可以加个压缩,我就加了一个压缩的。下午再发布下生成HTML的,昨天的版本是只有生成,没压缩的

  2. 最近正在学习html和css,弄完后在学习php和mysql。

    1. 折腾下还是挺有意思的~

添加新评论

您好,#请填信息#修改