我正在使用 Jsoup 尝试清理文档中几乎所有的 html,但将具有 特定类 的 span 标记列入白名单。
我知道了,但显然这结束了允许所有具有 attr 类的跨度
String html = "<p><strong>Lorem ipsum dolor<br /> sit amet</strong></p>"+
"<span class=\"killme\">Aenean</span> quam sem" +
"<span class=\"whitelistme\">lacinia molestie</span> nibh mattis ";
String clean = Jsoup.clean(html,
Whitelist.none()
.addTags("span")
.addAttributes("span", "class"));
有没有办法清理除 之外的所有 html?
所以我的最终结果是
Lorem ipsum dolor sit amet
Aenean quam sem
<span class="whitelistme">lacinia molestie</span> nibh mattis
最佳答案
坚持 Jsoup 解决方案,您可以尝试以下步骤,但它是硬编码:
- 将文本中的所有值元素提取到列表中。
- 将 span 元素中的所有值提取到另一个列表。
- 修改带有附加标记的文本值,例如 OMG_value。
- 从文本中删除所有 html 标签。
- 用已保存列表中的值迭代并替换所有 OMG_values。
如果您找到另一个解决方案 - 坚持下去。这是一个来自残酷 CEO 的硬编码救星。
关于java - Jsoup 可以根据其类清理元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7921240/