入力を解析してHTML出力を取得するためにText.ParserCombinators.Parsec
とを使用しています。Text.XHtml
私の入力が次の場合:
*最初のアイテム、最初のレベル **最初のアイテム、2番目のレベル ** 2番目のアイテム、2番目のレベル * 2番目のアイテム、1番目のレベル
私の出力は次のようになります。
<ul><li>First item, First level <ul><li>First item, Second level </li><li>Second item, Second level </li></ul></li><li>Second item, First level</li></ul>
私はこれを書きましたが、明らかに再帰的には機能しません
list = do{ s <- many1 item;return (olist << s) }
item = do{
(count 1 (char '*'))
;s <- manyTill anyChar newline
;return ( li << s)
}
何か案は?再帰は3つ以上のレベルにすることができます。
ありがとう!