/HyperDown

一个结构清晰的,易于维护的,现代的PHP Markdown解析器

Primary LanguagePHPOtherNOASSERTION

为何要写这样一个解析器

Markdown已经面世许多年了,国内外许多大大小小的网站都在用它,但是它的解析器却依然混乱不堪。SegmentFault 是**较大规模使用 Markdown 语法的网站,我们一直在使用一些开源类库,包括但不限于

  1. php-markdown
  2. CommonMark for PHP
  3. Parsedown

他们都有或多或少的毛病,有的性能较差,有的代码比较业余,更多的情况是由于Markdown本身解析比较复杂,因此我们几乎无法去维护另外一个人写的代码。基于这个原因,我为 SegmentFault 专门编写了这么一个Markdown解析器。

使用方法

与常规的解析类库没有任何区别

$parser = new HyperDown\Parser;
$html = $parser->makeHtml($text);

当前支持的语法

  • 标题
  • 列表(可递归)
  • 引用(可递归)
  • 缩进风格的代码块
  • Github风格的代码块
  • 各种行内文字加粗,斜体等效果
  • 链接,图片
  • 自动链接
  • 段内折行
  • 脚标
  • 分隔符
  • 表格
  • 图片和链接支持互相套用

浏览器中使用请参阅 HyperDown.js