我想处理一个包含HTML字符实体(如
谢谢您的帮助!
等)的字符串,并将它们替换为相应的字符。我通过Twitter的API获取数据,其中文本包含这些实体。请问是否有现成的库可以实现这个功能?谢谢您的帮助!
等)的字符串,并将它们替换为相应的字符。我通过Twitter的API获取数据,其中文本包含这些实体。请问是否有现成的库可以实现这个功能?我使用了 tagsoup
包中的函数构建下列函数。它可以处理来自 HTML5 标准的所有命名实体和数字实体(超过 2000 种,请参阅列表)。
import qualified Text.HTML.TagSoup as TS
decodeHTMLentities :: (StringLike str, Show str) => str -> str
decodeHTMLentities s = TS.fromTagText $ head $ TS.parseTags s
StringLike
有 String
、惰性和严格的 ByteString
和 Text
实例。
未知实体将保持不变。如果你想要关于未知实体的警告,请使用:
> parseTagsOptions parseOptions{optTagWarning=True} "&asdasd;"
[TagText "&asdasd;",TagWarning "Unknown entity: asdasd"]
在hackage上,Web.Encodings包看起来很有前途(特别是decodeHtml函数):
http://hackage.haskell.org/packages/archive/web-encodings/0.3.0.2/doc/html/Web-Encodings.html
你好,请尝试下面的代码,它会正常工作
labelTR = labelTR.replace(/(?: |")/g,'');