我是HTML編碼新手,我知道HTML有一些保留字符供其使用,它還通過字符代碼顯示一些字符。例如 - :替換HTML源代碼中的特殊字符
Œ is Œ
© is ©
® is ®
我有std :: string中的HTML源代碼。我怎麼能解密他們到他們的實際形式,並從std :: string替換?有沒有可用的源庫或可以使用宏預處理器來完成的庫?
我是HTML編碼新手,我知道HTML有一些保留字符供其使用,它還通過字符代碼顯示一些字符。例如 - :替換HTML源代碼中的特殊字符
Œ is Œ
© is ©
® is ®
我有std :: string中的HTML源代碼。我怎麼能解密他們到他們的實際形式,並從std :: string替換?有沒有可用的源庫或可以使用宏預處理器來完成的庫?
我會推薦使用一些HTML/XML解析器,它可以自動爲您完成轉換。用手正確解析HTML是非常困難的。如果你堅持自己做,Boost字符串算法庫提供了有用的替換功能。
數字實體的一種方法是使用像&#([0-9]+);
這樣的正則表達式,獲取數值並將其轉換爲ASCII字符(可能在C++中使用sprintf
)。
對於您需要構建映射的命名實體。你可以做一個簡單的字符串替換來轉換爲數字,然後使用上面的方法。 W3C在此處有一個表格:http://www.w3.org/TR/WD-html40-970708/sgml/entities.html
但是,如果您嘗試讀取或解析字符串中的一堆HTML,則應該使用HTML解析器。搜索關於SO的許多問題。
他們被稱爲「HTML實體」 – 2010-03-10 17:41:37