Jsoup 删除引号和撇号

发布于 2024-12-28 19:01:14 字数 339 浏览 0 评论 0原文

我的代码中有类似的东西

Whitelist whitelist = new Whitelist();
whitelist.addTags("p", "i", "b", "em", "strong", "u");
String content = Jsoup.clean(data.html(), whitelist);

。但是 Jsoup 库删除了 " 和 '。我该如何防止这种情况发生。eg

=

这是一个阳光明媚的日子。

结果 = 它?一个阳光明媚的日子。< /强>

I have something like

Whitelist whitelist = new Whitelist();
whitelist.addTags("p", "i", "b", "em", "strong", "u");
String content = Jsoup.clean(data.html(), whitelist);

in my code. But the Jsoup library removes " and '. How do I prevent that.

e.g. = <p>It's a sunny day.</p>

result = It? s a sunny day.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

碍人泪离人颜 2025-01-04 19:01:14

您正在使用 data.html() 。以下是 Element 类的 API 的介绍: Element API

Retrieves the element's inner HTML. E.g. on a <div> with one empty <p>, would return <p></p>. (Whereas Node.outerHtml() would return <div><p></p></div>.) 

因此您应该使用方法outerHtml() 改为:

String content = Jsoup.clean(data.outerHtml(), whitelist);

这里也是有用示例的另一个链接。该示例包含这两种方法,您可以看到区别: Jsoup 属性文本和 HTML 示例

至于另一个问题(引号变成问号),我认为这是编码和字符集的问题,因为它没有发生在我的电脑上。检查源 html 文件的编码,并尝试使用匹配的字符集在 Jsoup 中对其进行初始解析。

You are using data.html() . here is what the API of Element class tells about it: Element API

Retrieves the element's inner HTML. E.g. on a <div> with one empty <p>, would return <p></p>. (Whereas Node.outerHtml() would return <div><p></p></div>.) 

so you should be using the method outerHtml() instead:

String content = Jsoup.clean(data.outerHtml(), whitelist);

here is also another link for useful examples. the example contains both methods and you can see the difference: Jsoup Attribute text and HTML example

As for the other issue (quote being turned into question mark), I think its a matter of encoding and charachter set as it is not happening on my pc. check the encoding of the source html file and try to initially parse it in Jsoup with the matching charachter set.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文