gpt4 book ai didi

java - 是否可以删除不需要的标签的文本节点

转载 作者:搜寻专家 更新时间:2023-11-01 03:00:44 25 4
gpt4 key购买 nike

我测试了 Jsoup,我无法删除不需要的标签的文本节点。Idk 如果我错误的方法。方法是:

String pretty = Jsoup.clean("<img src=\"marco\">Capretta</img><i>Sono misterioso</i><p color=\"white\"><font size=\"5\">Ciao</p><p>some text</p><br/> <p>another text</p></font>" , "", Whitelist.basic().addTags("br", "p","i"), new Document.OutputSettings().prettyPrint(true));
System.out.println(pretty);

结果是:

Capretta
<i>Sono misterioso</i>
<p>Ciao</p>
<p>some text</p>
<br>
<p>another text</p>

但我不想要 <img> 的文本节点(也适用于其他不需要的标签)...

所以结果更好:

<i>Sono misterioso</i>
<p>Ciao</p>
<p>some text</p>
<br>
<p>another text</p>

我也可以有不同的 html...

附言问题是针对 Java 而不是 Javascript!!!

最佳答案

假设您的 HTML 足够简单。

您可以通过首先解析 HTML 然后检索body 标记的子级 来实现这一点

String pretty = Jsoup.clean("<img src=\"marco\">Capretta</img><i>Sono misterioso</i><p color=\"white\"><font size=\"5\">Ciao</p><p>some text</p><br/> <p>another text</p></font>" , "", Whitelist.basic().addTags("br", "p","i"), new Document.OutputSettings().prettyPrint(true));
pretty= Jsoup.parse(pretty).getElementsByTag("body").get(0).children().toString();
System.out.println(pretty);

输出:

<i>Sono misterioso</i>
<p>Ciao</p>
<p>some text</p>
<br />
<p>another text</p>

关于java - 是否可以删除不需要的标签的文本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35150963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com