【发布时间】:2016-09-15 09:12:56
【问题描述】:
在一个 Java 应用程序中,我有 HTML,作为一个字符串,看起来像这样:
<DIV STYLE="font-family:"Times New Roman"">
我希望对编码的引号进行解码,以便正确显示在页面上。问题是传统的StringEscapeUtils转义方法会将每个引号解码为双引号,导致HTML如下:
<DIV STYLE="font-family:"Times New Roman"">
不会在页面上正确呈现。期望的结果是 HTML 看起来像这样:
<DIV STYLE='font-family:"Times New Roman"'>
我可以通过算法检查字符串以将编码的引号替换为我想要的,但是是否有专门的方法来正确解码此类字符串的引号?
【问题讨论】:
-
想想你的设计。您的 Java 代码中不应包含此类信息。它应该在 css 或 HTML 页面中
-
这是在某个特定的信息位在被保存之前被解析的地方。我无法控制 HTML 的结构。
-
问题是字符串的en编码不正确。这在解码中无法修复(它不是确定性可解码的),您需要修复编码过程。
-
正如@ErwinBolwidt 所说,修复编码过程,或者拍打为您提供此错误编码HTML 的那个。但是如果你想将你的字符串转换成有效的HTML,你可以获取一种标记器并以某种方式确定引号是否在其他引号内,但话又说回来,你会修复由其他人引起的问题。