Jsoup 删除引号和撇号
我的代码中有类似的东西
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在使用 data.html() 。以下是 Element 类的 API 的介绍: Element API
因此您应该使用方法outerHtml() 改为:
这里也是有用示例的另一个链接。该示例包含这两种方法,您可以看到区别: Jsoup 属性文本和 HTML 示例
至于另一个问题(引号变成问号),我认为这是编码和字符集的问题,因为它没有发生在我的电脑上。检查源 html 文件的编码,并尝试使用匹配的字符集在 Jsoup 中对其进行初始解析。
You are using data.html() . here is what the API of Element class tells about it: Element API
so you should be using the method outerHtml() instead:
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.