Java中的HTML实体解码:撇号
问题描述:
我必须使用Java解码包含以下实体的HTML字符串:“&#39”和“& apos”。 我使用的是Apache Commons Lang,但它不能解码这两个实体,所以,我现在正在做如下操作,但我正在寻找最快的方式来做我想做的事。Java中的HTML实体解码:撇号
import org.apache.commons.lang.StringEscapeUtils;
public class StringUtil {
public static String decodeHTMLString(String s) {
return StringEscapeUtils.unescapeHtml((s.replace("'", "`").replace("'", "'")));
}
}
我搜索了老问题,但似乎没有人回答我的问题。
答
嗯,我会想象那部分问题是你的一个实体是双重编码:“'
”。这不会被任何解码器变成撇号。
至于“'
”,显然这不是+技术+ html实体集的一部分。
+0
mmm ...关于第一点,你是对的,它是双重编码的。 对于另一个,好吧,'它不是标准HTML的一部分,但我需要翻译它,我想知道是否有比我更快的翻译方式 – cdarwin 2010-10-21 17:38:42
呵呵,不要忘了在那里加入“聪明的引号”。 – 2010-10-21 15:39:02
谢谢你指出。我想我会发现许多实体不包含在标准HTML中。但问题是一样的。 – cdarwin 2010-10-21 15:47:49