如何使用Jsoup从html元素中删除所有内联样式和其他属性?

j

如何使用Jsoup从html元素中删除所有内联样式和其他属性(类,onclick)?

样本输入:

<div style="padding-top:25px;" onclick="javascript:alert('hi');">
This is a sample div <span class='sampleclass'> This is a sample span </span>
</div>

样本输出:

<div>This is a sample div <span> This is a sample span </span> </div>

我的代码(这是正确的方法还是有其他更好的方法?)

Document doc = Jsoup.parse(html);
Elements el = doc.getAllElements();
for (Element e : el) {
    Attributes at = e.attributes();
    for (Attribute a : at) {    
        e.removeAttr(a.getKey());    
    }
}
sha

是的,一种方法确实是遍历元素并调用 removeAttr();

使用jsoup的另一种方法是利用Whitelist类(请参阅docs),该类可与该Jsoup.clean()函数一起使用,以从文档中删除所有未指定的标记或属性。

例如:

String html = "<html><head></head><body><div style='padding-top:25px;' onclick='javascript.alert('hi');'>This is a sample div <span class='sampleclass'>This is a simple span</span></div></body></html>";

Whitelist wl = Whitelist.simpleText();
wl.addTags("div", "span"); // add additional tags here as necessary
String clean = Jsoup.clean(html, wl);
System.out.println(clean);

将导致以下输出:

11-05 19:56:39.302: I/System.out(414): <div>
11-05 19:56:39.302: I/System.out(414):  This is a sample div 
11-05 19:56:39.302: I/System.out(414):  <span>This is a simple span</span>
11-05 19:56:39.302: I/System.out(414): </div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Jsoup从html元素中删除所有内联样式和其他属性?

来自分类Dev

如何使用Moovweb删除所有内联样式属性

来自分类Dev

如何使用Moovweb删除所有内联样式属性

来自分类Dev

我如何使用jQuery删除除特定类之外的所有div和其他DOM HTML元素

来自分类Dev

从HTML字符串中删除所有内联样式和(大多数)类

来自分类Dev

如何选择所有不具有align属性的p和其他样式选项

来自分类Dev

使用filter()方法,我如何删除元素的所有其他出现,而不是所有出现?

来自分类Dev

如何使用Mojolicious从所有DOM元素中删除属性?

来自分类Dev

如何从元素中删除所有属性

来自分类Dev

PHP:如何使用simple_html_dom解析器将CSS text-align属性添加到元素的现有内联样式属性中?

来自分类Dev

如何使用jQuery删除HTML中的内联样式?

来自分类Dev

如何使用具有属性的Xpath和没有其他属性的元素来查找

来自分类Dev

删除列表中的所有其他元素

来自分类Dev

React:使用内联样式设置所有元素的样式

来自分类Dev

删除所有以“ font-”开头的内联样式属性

来自分类Dev

删除所有以“ font-”开头的内联样式属性

来自分类Dev

HTML和CSS:我的表单导致其父容器中的所有其他元素未对齐

来自分类Dev

如何从html中删除所有属性?

来自分类Dev

如何使用jsoup读取表中的所有元素

来自分类Dev

如何从Sass列表中删除所有其他项目?

来自分类Dev

从所有HTML元素中删除属性标题

来自分类Dev

如何使用具有其他TextBox样式的属性的TextBox样式

来自分类Dev

如何添加样式或类名并从Web组件中删除其他元素?

来自分类Dev

使用Java从元素中删除所有属性

来自分类Dev

在CKEditor中,如何使用Ruby注释元素和其他不是CKEditor核心的HTML?

来自分类Dev

当使用jQuery删除其他元素时,如何动态删除HTML元素

来自分类Dev

如何使用JavaScript禁用所有内联样式?

来自分类Dev

获取内联样式中的元素属性

来自分类Dev

如何删除样式属性到段落中的其他标签,而只保留一个样式

Related 相关文章

  1. 1

    如何使用Jsoup从html元素中删除所有内联样式和其他属性?

  2. 2

    如何使用Moovweb删除所有内联样式属性

  3. 3

    如何使用Moovweb删除所有内联样式属性

  4. 4

    我如何使用jQuery删除除特定类之外的所有div和其他DOM HTML元素

  5. 5

    从HTML字符串中删除所有内联样式和(大多数)类

  6. 6

    如何选择所有不具有align属性的p和其他样式选项

  7. 7

    使用filter()方法,我如何删除元素的所有其他出现,而不是所有出现?

  8. 8

    如何使用Mojolicious从所有DOM元素中删除属性?

  9. 9

    如何从元素中删除所有属性

  10. 10

    PHP:如何使用simple_html_dom解析器将CSS text-align属性添加到元素的现有内联样式属性中?

  11. 11

    如何使用jQuery删除HTML中的内联样式?

  12. 12

    如何使用具有属性的Xpath和没有其他属性的元素来查找

  13. 13

    删除列表中的所有其他元素

  14. 14

    React:使用内联样式设置所有元素的样式

  15. 15

    删除所有以“ font-”开头的内联样式属性

  16. 16

    删除所有以“ font-”开头的内联样式属性

  17. 17

    HTML和CSS:我的表单导致其父容器中的所有其他元素未对齐

  18. 18

    如何从html中删除所有属性?

  19. 19

    如何使用jsoup读取表中的所有元素

  20. 20

    如何从Sass列表中删除所有其他项目?

  21. 21

    从所有HTML元素中删除属性标题

  22. 22

    如何使用具有其他TextBox样式的属性的TextBox样式

  23. 23

    如何添加样式或类名并从Web组件中删除其他元素?

  24. 24

    使用Java从元素中删除所有属性

  25. 25

    在CKEditor中,如何使用Ruby注释元素和其他不是CKEditor核心的HTML?

  26. 26

    当使用jQuery删除其他元素时,如何动态删除HTML元素

  27. 27

    如何使用JavaScript禁用所有内联样式?

  28. 28

    获取内联样式中的元素属性

  29. 29

    如何删除样式属性到段落中的其他标签,而只保留一个样式

热门标签

归档