8

我的想法是在服务器端以某种方式缩小 HTML 代码,以便客户端接收更少的字节。

“缩小”是什么意思?

不拉拉链。更像是,例如,jQuery 创建者使用.min .js版本。换句话说,我需要删除不必要的空格和换行符,但我不能删除太多的 HTML 表示更改(例如删除段落中实际单词之间的空格)。

有什么工具可以做到吗?我知道有HtmlPurifier。它能够做到吗?还有其他选择吗?

PS请不要提供正则表达式。我知道只有 Chuck Norris 可以用它们解析 HTML。=]

4

5 回答 5

10

有点晚了,但仍然......通过使用 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();
于 2013-08-24T12:09:10.620 回答
3

您可以将 HTML 代码解析为 DOM 树(应在节点中保留内容空白),然后将其序列化回 HTML,而无需任何美化空格。

于 2011-04-28T08:28:04.067 回答
3

有什么工具可以做到吗?

是的,这是一个可以包含在构建过​​程中或用于 Web 缓存层的工具: https ://code.google.com/archive/p/htmlcompressor/

或者,如果您正在寻找一种工具来缩小您粘贴的 HTML,请尝试: http: //www.willpeavy.com/minifier/

于 2011-05-03T01:57:01.823 回答
0

您可以使用 Pretty Diff 工具:http ://prettydiff.com/?m= minify&html 它还会缩小 HTML 代码中的任何 CSS 和 JavaScript,并且缩小以回归的方式进行,以免妨碍将来对 HTML 进行美化回到可读形式。

于 2011-11-25T11:09:21.083 回答
0

有什么工具可以做到吗?

您可以使用CodVerter 在线 Web 开发编辑器来压缩混合的 html 代码。
压缩机经过多次可靠性和准确性测试。
(完全披露:我是开发人员之一)。

在此处输入图像描述

于 2019-02-04T20:12:40.093 回答