【问题标题】:How do I extract inner text from HTML markup?如何从 HTML 标记中提取内部文本?
【发布时间】:2013-12-06 01:05:03
【问题描述】:

我有以下代码:

import Text.HTML.TagSoup

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

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

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

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

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

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

【问题讨论】:

    标签: haskell haskell-tagsoup


    【解决方案1】:
    > filter isTagText (parseTags "<hello>my&amp;</world>")
    [TagText "my&"]
    

    【讨论】:

      【解决方案2】:

      如果你真的只想要"my&amp;",你可以使用来自 TagSoup 的innerText

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

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

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

      给你"my&amp;bar"

      【讨论】:

        猜你喜欢
        • 2018-06-15
        • 2015-04-24
        • 1970-01-01
        • 2017-03-06
        • 2020-01-19
        • 2012-06-12
        • 1970-01-01
        • 2017-02-07
        • 2019-08-20
        相关资源
        最近更新 更多