如何缩小 HTML 代码?
-
26-10-2019 - |
题
我的想法是 不知何故 缩小服务器端的 HTML 代码,以便客户端接收更少的字节。
“缩小”是什么意思?
不拉拉链。更像是 jQuery 创建者所做的 .分钟.js 版本。换句话说,我需要删除不必要的空格和换行符,但我无法删除太多 HTML 表示的更改(例如删除段落中实际单词之间的空格)。
有没有什么工具可以做到这一点?我知道有 Html净化器. 。它能做到吗?还有其他选择吗?
附:请不要提供正则表达式。我知道只有 Chuck Norris 可以用它们解析 HTML。=]
解决方案
您可以将HTML代码解析为DOM树(应将内容保持在节点中),然后将其序列化回HTML,而无需任何漂亮的空间。
其他提示
有点迟到,但仍然...通过使用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();
有没有什么工具可以做到这一点?
是的,这是一个您可以包含在构建过程中或用于 Web 缓存层的工具:http://code.google.com/p/htmlcompressor/
或者,如果您正在寻找一种工具来缩小粘贴的 HTML,请尝试:http://www.willpeavy.com/minifier/
您可以使用漂亮的差异工具: http://prettydiff.com/?m=minify&html 它还将在HTML代码中缩小任何CSS和JavaScript,并以回归方式进行缩小,以免防止将来对HTML的美化回到可读形式。
不隶属于 StackOverflow