java - HTML 解析和删除 anchor 标记,同时使用 Jsoup 保留内部 html

标签 java html-parsing jsoup

我必须解析一些html并删除 anchor 标记,但我需要保留 anchor 标记的innerHTML

例如,如果我的 html 文本是:

String html = "<div> <p> some text <a href="#"> some link text </a> </p> </div>"

现在我可以解析上面的 html 并在 jsoup 中选择一个标签,如下所示,

Document doc = Jsoup.parse(inputHtml);

//this would give me all elements which have anchor tag
Elements elements = doc.select("a");

我可以通过以下方式删除所有这些,

element.remove()

但是它会删除从开始括号到结束括号的完整 achor 标记,并且内部 html 将丢失,如何保留仅删除开始和结束标记的内部 HTML。

Also, Please Note : I know there are methods to get outerHTML() and innerHTML() from the element, but those methods only give me ways to retrieve the text, the remove() method removes the complete html of the tag. Is there any way in which I can only remove the outer tags and preserve the innerHTML ?

提前非常感谢并感谢您的帮助。

--拉杰什

最佳答案

使用 unwrap,它保留了内部 html

doc.select("a").unwrap();

查看 api 文档以获取更多信息:
http://jsoup.org/apidocs/org/jsoup/select/Elements.html#unwrap%28%29

关于java - HTML 解析和删除 anchor 标记,同时使用 Jsoup 保留内部 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17032677/

相关文章:

java - 由于推荐的 Jar 中缺少工件,无法从 Java 启动简单的 Pentaho 作业

c++ - 使用 pugixml 或实际的 HTML 解析器解析 HTML

parsing - 从 HTML 文件中获取 jpg 图像

java - 使用 jsoup 解析 html 但不跟踪/获取链接

java - 为什么我的 javamail 程序不通过 jdeveloper 运行?

Java 方法无界类型或类返回

java - 使用jar使用php脚本生成文件

python lxml解析html

java - Jsoup——同时迭代多个元素?

java - 如何使用 Jsoup 搜索评论 ("&lt;!-- -->")?