如何在PHP中解析Markdown?

Jér*_*émy 29 language-agnostic markdown parsing tree-grammar

首先,我知道,已经有一个用于PHP的Markdown解析器.我也看了一下这个问题,但它没有回答我的问题.

显然,即使标题提到PHP,如果它是语言不可知的,因为我想知道我要做的步骤是什么.

我读过关于PEG的内容,但我承认,我并不真正理解PHP解析器提供的示例.

我也读过关于CFG的文章.

我发现Zend_Markup_Parser_Textile似乎构造了一个所谓的"令牌树"(它是什么?)但它目前无法使用.(顺便说一句,纺织品不是降价)

那么,具体来说,你会怎么做呢?

显然我虽然使用正则表达式,但我害怕.

因为Markdown支持同一元素的几种语法(Setext和atx).

你能给出一些起点吗?

Ema*_*sev 35

你应该看一下Parsedown.

它以人们的方式解析Markdown文本.首先,它将文本分为几行.然后它查看这些线如何开始并相互关联.最后,它查找用于标识内联元素的特殊字符.

  • @David天宇Wong你可以用一个Parsedown实例解析几个Markdown字符串.这样您就可以设置一些选项并在多个Markdown字符串中使用它们.现在没有太多的选择,但这种方式是面向未来的. (4认同)
  • 为什么人们会考虑将Markdown转换为HTML"解析"?不应该解析返回一个解析树? (3认同)

Mat*_*ell 11

PHP降价外,这似乎是受欢迎的,你可以通过观察它的源头抓起.


Max*_*kov 5

此外,有一个面向对象的Markdown实现更快:markdown-oo-php