Haskell:删除字符串中的html字符实体

时间:2010-11-18 18:26:18

标签: html parsing haskell html-parsing

我正在寻找一个包含html字符实体的字符串,例如 等,并用文字字符串字符替换它们。我通过twitter的api获取数据,文本包含这些实体。有人知道现有的图书馆吗?

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

关于hackage的Web.Encodings包看起来很有前途(decodeHtml函数):

http://hackage.haskell.org/packages/archive/web-encodings/0.3.0.2/doc/html/Web-Encodings.html

答案 1 :(得分:3)

我使用包tagsoup中的函数构建了以下函数。它处理HTML5标准中的所有命名和数字实体(超过2000,see the list)。

import   qualified          Text.HTML.TagSoup as TS

decodeHTMLentities :: (StringLike str, Show str) => str -> str   
decodeHTMLentities s = TS.fromTagText $ head $ TS.parseTags s

StringLike包含String,懒惰和严格ByteStringText的实例。

未知的诱惑将保持不变。如果您想要关于未知实体的警告,请使用:

> parseTagsOptions parseOptions{optTagWarning=True} "&asdasd;"
[TagText "&asdasd;",TagWarning "Unknown entity: asdasd"] 

答案 2 :(得分:-7)

你好试试下面的代码就可以了解

labelTR = labelTR.replace(/(?: |")/g,'');