gpt4 book ai didi

java - 从java中的String中删除Html标签,除了少数特定标签

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

我的输入是纯文本字符串,要求删除除少数特定标签之外的所有 html 标签,例如:

<p>
<li>
<u>
<li>

如果这些特定标签具有 classid 等属性,我想删除这些属性。

几个例子:

<a href = "#">Link</a>            ->   Link

<p>paragraph</p> -> <p>paragraph</p>

<p class="class1">paragraph</p> -> <p>paragraph</p>

我已经完成了这个Remove HTML tags from a String但它并没有完全回答我的问题。

它可以由一组正则表达式处理还是我可以使用一些库?

最佳答案

我试过 JSoup,它似乎能够处理所有此类情况。这是示例代码。

 public String clean(String unsafe){
Whitelist whitelist = Whitelist.none();
whitelist.addTags(new String[]{"p","br","ul"});

String safe = Jsoup.clean(unsafe, whitelist);
return StringEscapeUtils.unescapeXml(safe);
}

对于输入字符串

String unsafe = "<p class='p1'>paragraph</p>< this is not html > <a link='#'>Link</a> <![CDATA[<sender>John Smith</sender>]]>";

我得到以下输出,这几乎是我所需要的。

<p>paragraph</p>< this is not html > Link <sender>John Smith</sender>

关于java - 从java中的String中删除Html标签,除了少数特定标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7023994/

25 4 0