我如何在PHP中实现类似StackOverflow的Markdown?

时间:2015-02-05 08:00:17

标签: php markdown

我在找什么?

我正在寻找一种与stackoverflow上使用的类似的降价语言。

可能的解决方案

我可以去写自己的标记语言,但我认为这会浪费时间。这是一种可能性。

我真正想知道的是StackOverflow标记语言是开源还是有类似的开源软件包可供PHP使用。

1 个答案:

答案 0 :(得分:2)

降价实施

您应该查找可以插入并使用的现有库。

首先,您需要在两个主要的降价实施组之间做出决定

  • 基本
  • 扩展(表等)

Stackexchange使用我称之为基本或原始降价的内容。

您应该探索的一些搜索字词:

  • 基本
    • John Gruber Markdown
    • CommonMark
    • PHP Markdown
  • 扩展
    • Fletcher Penney MultiMarkdown
    • PHP Markdown Extra
    • PHP MultiMarkdown
    • PHP Parsedown

我使用PHP Parsedown。我发现它有效但有点古怪和不宽容。

你应该注意到Markdown定义非常破碎,除了CommonMark之外,原始实现和其他实现使用的标记没有明确定义,因此不同的实现通常会产生不同的结果并支持不同的功能。

安全

存在一些安全问题。最终用户可访问的Markdown允许他们插入任意HTML,这可能会引入跨站点脚本和其他安全问题。您可能需要预处理标记或对HTML进行后处理以删除有问题的元素。由于这个原因,Stackexchange只允许有限的HTML子集。