Raj*_*ula 2 java html-parsing jsoup
我必须解析一些 html 并删除锚标记,但我需要保留锚标记的 innerHTML
例如,如果我的 html 文本是:
String html = "<div> <p> some text <a href="#"> some link text </a> </p> </div>"
Run Code Online (Sandbox Code Playgroud)
现在我可以解析上面的html并像这样在jsoup中选择一个标签,
Document doc = Jsoup.parse(inputHtml);
//this would give me all elements which have anchor tag
Elements elements = doc.select("a");
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式删除所有这些
element.remove()
Run Code Online (Sandbox Code Playgroud)
但它会将完整的 achor 标记从开始括号删除到结束括号,并且内部 html 将丢失,如何保留仅删除开始和结束标记的内部 HTML。
另外,请注意:我知道有一些方法可以从元素中获取 outerHTML() 和 innerHTML(),但这些方法只给了我检索文本的方法,remove() 方法会删除标签的完整 html。有什么方法可以只删除外部标签并保留 innerHTML 吗?
非常感谢您的帮助。
——拉杰什
使用 unwrap,它保留了内部 html
doc.select("a").unwrap();
Run Code Online (Sandbox Code Playgroud)
检查 api-docs 以获取更多信息:http :
//jsoup.org/apidocs/org/jsoup/select/Elements.html#unwrap%28%29