如何使用JSoup或HTMLCleaner缩短HTML代码



大家好。我正在尝试将HTML代码保存在数据库中,并且正在使用SHEF(Swing HTML编辑器框架),但是我遇到了一个巨大的问题。通常,生成的 HTML 是这样的:

<div>
This is the first paragraph
</div>
<div>
This is the second paragraph.
</div>
<div>
This is the last paragraph.
</div>

我想"清理"html代码并使结果看起来像这样:

<div>
This is the first paragraph
<br>
This is the second paragraph.
<br>
This is the last paragraph.
</div>

我尝试使用HTMLCleaner和JSoup,但我没有成功。我只能使JSoup工作

<div>
This is the first paragraph
</div>
<div>
</div>
<div>
This is the last paragraph.
</div>

成为

<div>
This is the first paragraph
</div>
<br>
<div>
This is the last paragraph.
</div>

这是我使用的 JSoup 代码:

Document source = Jsoup.parse(sourceString);
// For each element
for(Element el: source.select("*")) {
   if(el.children().isEmpty() && !el.hasText() && el.isBlock()) {
       el.replaceWith(new Element(Tag.valueOf("br"), ""));//replace empty tags with newline
   }
}
return source.body().html();

有没有办法使生成的HTML代码更短?谢谢!

我建议,与其摆弄 HTML 并试图最小化它,不如 gzip 压缩它并将其保存到您的数据库中(并在出路时膨胀)。

CPU 开销最小,节省的成本会高得多。而且您的代码将更简单,更通用。HTML的gzip通常提供75%-80%的压缩率,而删除一些标签会给你,什么,10%?

这是如何压缩/解压缩的示例。

相关内容

  • 没有找到相关文章

最新更新