我正在使用Text.ParserCombinators.Parsec
andText.XHtml
来解析输入并获得 HTML 输出。
如果我的输入是:
* 第一项,第一级 ** 第一项,第二级 ** 第二项,二级 * 第二项,一级
我的输出应该是:
<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)
}
有任何想法吗?递归可以多于两个级别。
谢谢!