当前位置: 首页 > 面试题库 >

Jsoup.clean无需添加html实体

越国源
2023-03-14
问题内容

我正在使用清除不需要的HTML标签(例如<script>)中的一些文本

String clean = Jsoup.clean(someInput, Whitelist.basicWithImages());

问题是,它取代例如å&aring;(这会导致麻烦的我,因为它不是“纯XML”)。

例如

Jsoup.clean("hello å <script></script> world", Whitelist.basicWithImages())

产量

"hello &aring;  world"

但我想

"hello å  world"

有没有简单的方法可以做到这一点?(即比转换&aring;å结果更简单。)


问题答案:

您可以配置Jsoup的转义模式:使用EscapeMode.xhtml将为您提供无实体输出。

这是一个完整的代码段,可以接受str作为输入,并使用进行清理Whitelist.simpleText()

// Parse str into a Document
Document doc = Jsoup.parse(str);

// Clean the document.
doc = new Cleaner(Whitelist.simpleText()).clean(doc);

// Adjust escape mode
doc.outputSettings().escapeMode(EscapeMode.xhtml);

// Get back the string of the body.
str = doc.body().html();


 类似资料:
  • 问题内容: 如何使用 CSS 属性添加 HTML 实体? 使用这样的东西只会打印到屏幕上,而不是不间断的空间: 问题答案: 您必须使用转义的unicode: 喜欢

  • 我是新来的反应,并试图理解为什么我不能添加超文本标记语言到我的渲染方法 如果我添加

  • 我有一个用例,我使用的是基于Spring的外部jar,而我的代码是基于Googleguice的。 我正在尝试通过编写模块在我的依赖项jar的此类中注入依赖项。 外部类: 我可以在我的模块中使用@provides方法中的setter设置成员,但@inject成员为空,我得到了countEvent和durationEvent的NullPointerException。 我的代码使用下面的provide

  • 若要添加一个新的实体,点击工具栏的 按钮,并点击画布的任意位置。你可以从浏览器的模型选项卡添加一个现有的实体,简单地从模型选项卡拖放实体到画布。 在画布中实体对象的弹出式菜单选项包括: 选项 描述 添加关联的对象 添加全部关联的实体到选择的实体。 剪切 从图表移除实体并放它在剪贴板。 复制 从图表复制实体到剪贴板。 粘贴 将剪贴板的内容贴到图表。 选择全部实体 在图表中选择全部实体。 删除 从图表

  • 若要添加一个新的实体,点击工具栏的 按钮,并点击画布的任意位置。你可以从浏览器的模型选项卡添加一个现有的实体,简单地从模型选项卡拖放实体到画布。 如果图表符号设置为默认, 图标代表属性为一个主键。而 图标则代表属性为一个索引。 【注意】如果你右击属性,你可以选择添加、插入、删除、重命名属性及设置属性为主键。 在画布中实体对象的弹出式菜单选项包括: 选项 描述 设计实体 在实体设计器中编辑实体结构,

  • 若要添加一个新的实体,点击工具栏的 按钮,并点击画布的任意位置。你可以从浏览器的模型选项卡添加一个现有的实体,简单地从模型选项卡拖放实体到画布。 在画布中实体对象的弹出式菜单选项包括: 选项 描述 添加关联的对象 添加全部关联的实体到选择的实体。 剪切 从图表移除实体并放它在剪贴板。 复制 从图表复制实体到剪贴板。 粘贴 将剪贴板的内容贴到图表。 选择全部实体 在图表中选择全部实体。 删除 从图表