3

我有以下代码:

import Text.HTML.TagSoup

parseTags "<hello>my&amp;</world>" 

这给了我这样的输出:[TagOpen "hello" [],TagText "my&",TagClose "world"]. 但我只想得到[TagText "my&"]. 我可以这样做:

filter (~== "my&")$ parseTags "<hello>my&amp;</world>"

这会给我这样的输出:[TagText "my&"]. 但我不知道里面是什么TagText,即"my&"。我的最终目标是得到"my&"我能得到的

map(fromTagText) $ filter (~== "my&")$ parseTags "<hello>my&amp;</world>"

我尝试使用TagText,但无法正确使用。

4

2 回答 2

3
> filter isTagText (parseTags "<hello>my&amp;</world>")
[TagText "my&"]
于 2013-12-06T03:06:53.387 回答
1

如果你真的只想要"my&"你可以innerText从 TagSoup 使用:

innerText (parseTags "<hello>my&amp;</world>")

它只查找文本标签并将它们连接起来。所以这

innerText (parseTags "<hello>my&amp;</world><foo>bar</foo>")

得到你"my&bar"

于 2013-12-06T23:03:55.843 回答