2010-10-21 46 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