最新消息:创业路上,需要创新思维,也需要知识的沉淀。

php压缩HTML、CSS、JS

PHP myfse 1553浏览 0评论

压缩代码

// 压缩html
function fun_compress_html($uncompress_html_source )
{
    $chunks = preg_split( '/(<pre.*?\/pre>)/ms', $uncompress_html_source, -1, PREG_SPLIT_DELIM_CAPTURE );
    $uncompress_html_source = '';//修改压缩html : 清除换行符,清除制表符,去掉注释标记
    foreach ( $chunks as $c )
    {
        if ( strpos( $c, '<pre' ) !== 0 )
        {
            //remove new lines & tabs
            $c = preg_replace( '/[\\n\\r\\t]+/', ' ', $c );
            //remove extra whitespace
            $c = preg_replace( '/\\s{2,}/', ' ', $c );
            //remove inter-tag whitespace
            $c = preg_replace( '/>\\s</', '><', $c );
            //remove CSS & JS comments
            $c = preg_replace( '/\\/\\*.*?\\*\\//i', '', $c );
        }
        $uncompress_html_source .= $c;
    }
    return $uncompress_html_source;
}

 

php来压缩HTML注意事项

php来压缩HTM 实现的方式主要是用正则表达式去查找,替换。在html压缩的时候,主要要注意下面几点:

  1. HTML 文档中,多个空白字符等价为一个空白字符。也就是说换行等空白字符的删除是不安全的,有可能导致部分元素的样式产生差异。
  2. html中有一个pre, 表示 preformatted text. 里面的任何空白,都不能被删除,因此pre,textarea 标签里面的内容格式需要保留,不能压缩。
  3. HTML 中有可能有 IE 条件注释。这些条件注释是文档逻辑的一部分,不能被删除。因此去掉html注释的时候,有些注释是不能去掉的,比如:
  4. 压缩嵌入式js中的注释要注意,因为可能注释符号会出现在字符串中,比如: var url = “http://www.yunblogs.com”; // 前面的//不是注释
  5. 对于动态页面来说,HTML 的压缩有可能还会增加服务器的 CPU 负担,得不偿失

转载请注明:全端网 » php压缩HTML、CSS、JS