V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
raincious
V2EX  ›  PHP

求个 PHP 下好用的 Markdown 解析器

  •  
  •   raincious · 2014-10-06 16:36:39 +08:00 · 4789 次点击
    这是一个创建于 3705 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先,我知道有很多Markdown解析器。比如Parsedown(这个是用下来最好的),还有Michelf's PHP Markdown。但是由于项目需要在多处使用(不仅仅是发布文章的地方),所以需要能够自由定制的,还能跟项目配合的好。

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

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

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

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

    感谢!
    8 条回复    2014-10-24 14:43:27 +08:00
    minbaby
        1
    minbaby  
       2014-10-06 17:31:59 +08:00
    skydiver
        2
    skydiver  
       2014-10-06 17:34:03 +08:00 via Android
    你这些功能可以自己改代码实现吧……随便找个就行,自己改
    raincious
        3
    raincious  
    OP
       2014-10-06 18:01:56 +08:00
    @skydiver

    就是不想修改,因为版权问题还有维护性。不过发现了cebe's Markdown,MIT协议的,但是好像还是不很灵活。先试试看吧。
    cchange
        4
    cchange  
       2014-10-06 18:09:26 +08:00
    你头像应该是对付处女座的吧
    zhangxiao
        5
    zhangxiao  
       2014-10-06 18:13:51 +08:00
    我就是单纯的说下,不由自主的点了下头像...
    spacewander
        6
    spacewander  
       2014-10-06 20:35:13 +08:00
    LZ头像太evil了
    Jefei
        7
    Jefei  
       2014-10-07 09:14:24 +08:00
    parsedown
    vus520
        8
    vus520  
       2014-10-24 14:43:27 +08:00
    pandoc
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3160 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:22 · PVG 21:22 · LAX 05:22 · JFK 08:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.