大家好日子。我试图在数据库中保存HTML代码,我正在使用SHEF(Swing HTML Editor Framework),但我有一个很大的问题。通常,生成的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代码缩短?谢谢!
答案 0 :(得分:2)
我建议,不要乱用HTML并尝试最小化它,你只需要压缩它并将其保存到你的数据库中(并在出路时充气)。
CPU开销很小,节省的费用会更高。而且您的代码将更简单,更通用。 gzip for HTML通常提供75%-80%的压缩比,而删除一些标签会给你什么,10%?
以下是compress / decompress的示例。