当前时间: 2010年07月29日, 21:11 你好, 欢迎光临! (登录注册)


发表回复 
 
主题评价:
  • 0 次(票) - 平均星级: 0
  • 1
  • 2
  • 3
  • 4
  • 5
HTML压缩函数
2009年02月20日, 11:55 (这个帖子最后修改于: 2009年02月20日 12:02 by admin.)
HTML压缩函数
我是菜鸟,今天发布一个我一直在使用的函数,HTML压缩函数
希望能帮助大家
PHP 代码:
//函数名: compress_html
//参数: $string
//返回值: 压缩后的$string
function compress_html($string) {
    
$string str_replace("\r\n"''$string); //清除换行符
    
$string str_replace("\n"''$string); //清除换行符
    
$string str_replace("\t"''$string); //清除制表符
    
$pattern = array (
                    
"'<!--[/!]*?[^<>]*?>'si"//去掉注释标记
                    
"'  '",
                    );
    
$replace = array (
                    
"",
                    
"",
                    );
    return 
preg_replace($pattern$replace$string);


大家可能会说,前面用str_replace,后面怎么又用preg_replace了呢
其实,我也是迫不得已,能不用正则尽量不用,但是要删除注释和多余的空格,必须要用正则

这个函数也有局限性
如果html代码中出现以下情况,可能会出现异常
1.标签中出现2个或以上的空格,大家知道规范的写法是:<a_href=''>,但是有人就会写成:<a__href=''>,其中_表示空格,这种情况会导致异常错误
2.除了标签以外存在一个空格,那么无法清除
3.可能正文中存在必要的空格也被清除
4.代码中如果存在javascript,并且有//存在,那么由于没有换行了,所以后面的js代码都被注释掉了,导致js出错或者不起作用
5.其他未知异常

当然,大多数情况下是正常的,希望对大家有用
也希望能够有高手帮忙完善此函数

如果您有看到其他更好的或者发布更早的同类函数,请告知
谢谢

附: 对HTML源代码进行减肥(压缩)
查找这个用户的全部帖子
引用并回复
发表回复 


论坛跳转:


联系我们 | MyBB中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合