我可以从HTML源中删除换行符和空格吗?

时间:2011-05-10 14:35:50

标签: html internet-explorer browser webkit mozilla

除了它对人类不可读之外,当我从html源代码中删除每个换行符和空格时,是否有任何缺点?

浏览器的渲染方式是否不同?渲染会变得更快(或者更慢)吗?

4 个答案:

答案 0 :(得分:1)

有很多关于缩小HTML的问题。以下是一些:

答案 1 :(得分:0)

您将拥有较小的文件大小,因此可以下载得更快(尽管它可能不会引起注意)。确实有tools

答案 2 :(得分:0)

如果删除换行符,则无任何伤害。但是根据你的问题

  

...当我从html源代码中删除 每个 换行符和空格时?

如果您确实删除了每个换行符和行余额,则可能无法提供您的目的。 您应该只删除额外的换行符和空格。还要注意不要更改数据属性表单数据或任何其他属性。

关于它可以提供的改进:

它可以渲染得更快,因为它需要解析较少的数据。但这种加速非常小。我甚至不鼓励它,因为它降低了可读性,并且CPU的加速速度为几百个时钟周期。下载也一样。它只减少了数据(除非文档有太多的空格)

最好在服务器端输出GZIP压缩。以下是来自php的一行启用它。如果您的服务器中有php,那么只需将* .html文件重命名为* .php,然后在任何输出之前添加以下代码:

if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler");

您也可以使用.htaccess文件执行此操作。谷歌对此更多。

答案 3 :(得分:0)

有点晚但仍然......通过使用output_buffering,它就像那样简单:

function compress($string)
{
    // Remove html comments
    $string = preg_replace('/<!--.*-->/', '', $string);

    // Merge multiple spaces into one space
    $string = preg_replace('/\s+/', ' ', $string);   

    // Remove space between tags. Skip the following if
    // you want as it will also remove the space 
    // between <span>Hello</span> <span>World</span>.
    return preg_replace('/>\s+</', '><', $string);      
}

ob_start('compress');

// Here goes your html.    

ob_end_flush();