大家好。我正在尝试将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%?
这是如何压缩/解压缩的示例。