java - 用 Java 中的等效字符替换 HTML 5 代码

标签 java html stringescapeutils

我正在尝试使用StringEscapeUtils.unescapeHtml4()替换HTML 5的符号,但我仍然有很多符号尚未替换,例如“ ”、“&” 。您会推荐使用什么?

最佳答案

 & 不是实体。  & 是实体。如果您的字符串确实缺少 ; ,这就是它们未被解码的原因。

我刚刚检查过(只是为了彻底!),StringEscapeUtils.unescapeHtml4 确实正确解码  & .

正确的修复是修复为您提供的字符串中包含不完整实体的任何内容。

您可以解决这个问题,也可以使用  & 转换为 \u00A0&使用StringEscapeUtils.unescapeHtml4后的String#replace:

// Ugly, technically-incorrect workaround (but we do these things sometimes)
String result =
    StringEscapeUtils.unescapeHtml4(sourceString)
    .replace("&nbsp", "\u00A0")
    .replace("&amp", "&");

...但这不正确,因为它们不是实体。最好更正字符串。

关于java - 用 Java 中的等效字符替换 HTML 5 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34927373/

相关文章:

java - 如何从Access的表中获取前2条记录并将它们添加到Jtable(数据过滤器)

java - 如何在 Play Framework 上模拟curl --data 'some_content=xyz'?

html - google reCAPTCHA 是否可以访问我的表单字段?

javascript - 联系页面设计如何添加Bootstrap

java - 通过操作字符串替换目录路径 - Java

java - 分享 Instagram Story 的贴纸坏了?

java - Guice:绑定(bind)具有不同依赖关系的多个对象

javascript - 框阴影作为 css 的渐变边界?

java - 绝对最快的 Java HTML 转义函数