2010-10-21 106 views
0

我必须使用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("'", "'"))); 
     } 

} 

我搜索了老问题,但似乎没有人回答我的问题。

+0

呵呵,不要忘了在那里加入“聪明的引号”。 – 2010-10-21 15:39:02

+0

谢谢你指出。我想我会发现许多实体不包含在标准HTML中。但问题是一样的。 – cdarwin 2010-10-21 15:47:49

回答

2

嗯,我会想象那部分问题是你的一个实体是双重编码:“'”。这不会被任何解码器变成撇号。

至于“'”,显然这不是+技术+ html实体集的一部分。

+0

mmm ...关于第一点,你是对的,它是双重编码的。 对于另一个,好吧,'它不是标准HTML的一部分,但我需要翻译它,我想知道是否有比我更快的翻译方式 – cdarwin 2010-10-21 17:38:42