有人知道 JSoup 的替代品吗?
或者如何清理像 <p> </p>
这样的序列?
HTML Clean plug-in for jQuery 对我来说效果很好,但我感兴趣的是在服务器端而不是在中进行 html 代码清理客户端。
或者,replaceAll 表达式要做什么??:
String cleanS = dirtyS.replaceAll("<p> </p>", ""); //This doesnt work
我发现脏 html 带有空格 #160 和其他类似 #32 的混合序列。
所以,我需要的是一个表达式来删除它们的任何混合。
最佳答案
您可以为此更改 OutputSettings
:
示例:
final String html = ...;
OutputSettings settings = new OutputSettings();
settings.escapeMode(Entities.EscapeMode.xhtml);
String cleanHtml = Jsoup.clean(html, "", Whitelist.relaxed(), settings);
这对于 Jsoup 解析的 Document
也是可能的:
Document doc = Jsoup.parse(...);
doc.outputSettings().escapeMode(Entities.EscapeMode.xhtml);
// ...
编辑:
删除标签:
doc.select("p:matchesOwn((?is) )").remove();
请注意:(?is)
之后不是 是空白,而是 char #160 (= nbsp)。
这将删除所有其自身文本仅为
的 p-Tag。如果您想对所有其他标签执行此操作,可以将 p:
替换为 *:
。
关于java - JSoup 的替代方案或如何清理空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13071264/