求个 PHP 下好用的 Markdown 解析器

2014-10-06 16:36:39 +08:00
 raincious
首先,我知道有很多Markdown解析器。比如Parsedown(这个是用下来最好的),还有Michelf's PHP Markdown。但是由于项目需要在多处使用(不仅仅是发布文章的地方),所以需要能够自由定制的,还能跟项目配合的好。

在决定发这个帖子之前,我已经琢磨着自己写解析器很久了,但是进展缓慢,(一边玩一边写 + 本来数学就不好的掩面),特别是今天发现之前写的Tokenizer没办法完全满足要求可能需要重新设计(主要是通配符批匹配规则不完美)(艹,我都在写标签解析结果的渲染合并了)。于是我就有点小崩溃了……

要求是这样的:
- 可以关闭一些标签的解析,比如不允许解析 ` XXX ` 标签;
- 可以自定义产生的HTML代码(也就是说不一定是Markdown规范的输出代码);
- 可以设定一些标签解析的结果。比如可以设定 # 标题 # 从 H3开始,超过的就使用样式代替,这样可以在评论系统里方便的使用;
- 可以自行添加标签,然后自定义这个标签的解析器类。
比如我可以添加一个“附件”标记,格式类似于 +[附件标题](附件ID)。用户提交给解析器之后,解析器类会自动查询数据库找到这个附件,然后根据附件信息渲染成HTML输出到最终的渲染结果。

好吧,不知道有没有这样的,如果没有看来我只能硬着头皮重新写了。

PS:是的,我知道可以在得到渲染后的HTML里直接替换字符,但是……这样很明显不是最佳操作。

感谢!
4785 次点击
所在节点    PHP
8 条回复
minbaby
2014-10-06 17:31:59 +08:00
skydiver
2014-10-06 17:34:03 +08:00
你这些功能可以自己改代码实现吧……随便找个就行,自己改
raincious
2014-10-06 18:01:56 +08:00
@skydiver

就是不想修改,因为版权问题还有维护性。不过发现了cebe's Markdown,MIT协议的,但是好像还是不很灵活。先试试看吧。
cchange
2014-10-06 18:09:26 +08:00
你头像应该是对付处女座的吧
zhangxiao
2014-10-06 18:13:51 +08:00
我就是单纯的说下,不由自主的点了下头像...
spacewander
2014-10-06 20:35:13 +08:00
LZ头像太evil了
Jefei
2014-10-07 09:14:24 +08:00
parsedown
vus520
2014-10-24 14:43:27 +08:00
pandoc

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/137284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX