PHP中Markdown的处理与解析:库与示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

PHP中Markdown的使用:库与工具概述



Markdown是一种轻量级标记语言,允许使用简单的语法创建格式化文本。在PHP中,有多个成熟且可靠的库用于处理Markdown。本文将介绍三种最流行的工具:Parsedown、PHP-Markdown 和 League/CommonMark。



1. Parsedown — 轻量且快速的解析器



Parsedown 是PHP中最流行的Markdown库之一。它无需外部依赖,支持所有基本标记元素,并且运行速度非常快。



安装

composer require erusev/parsedown


基本用法

<?phprequire 'vendor/autoload.php';

$Parsedown = new Parsedown();

$markdown = <<<MARKDOWN# 一级标题

这是**粗体文本**和*斜体*。

- 列表项 1- 列表项 2

[PythonLib链接](https://pythonlib.ru)MARKDOWN;

echo $Parsedown->text($markdown);?>


执行此代码的结果是包含标题、列表和链接的正确HTML。



附加功能

  • 支持安全模式(转义HTML标签)
  • 支持嵌套列表和表格
  • 通过 setBreaksEnabled() 和 setMarkupEscaped() 方法进行配置


2. PHP-Markdown — 经典解决方案



PHP-Markdown 是Michel Fortin基于John Gruber的Perl版本开发的原始Markdown解析器实现。该库严格遵循Markdown规范。



安装

composer require michelf/php-markdown


使用示例

<?phprequire 'vendor/autoload.php';

use Michelf\\Markdown;

$markdown = <<<MARKDOWN## 二级标题

> 这是一段引用。> 它可以跨越多行。

1. 有序列表第一项2. 第二项

`行内代码` 和代码块:

<?php echo "Hello, World!"; ?>MARKDOWN;

$html = Markdown::defaultTransform($markdown);echo $html;?>


特点

  • 通过MarkdownExtra支持扩展语法
  • 自动转换链接和电子邮件地址
  • 可在输出中禁用HTML


3. League/CommonMark — 标准化实现



League/CommonMark 是一个实现官方CommonMark标准的库。它确保与其他解析器的最大兼容性,并支持扩展。



安装

composer require league/commonmark


带扩展的示例

<?phprequire 'vendor/autoload.php';

use League\\CommonMark\\Environment\\Environment;use League\\CommonMark\\Extension\\CommonMark\\CommonMarkCoreExtension;use League\\CommonMark\\MarkdownConverter;

// 创建带有基本扩展的环境$environment = new Environment();$environment->addExtension(new CommonMarkCoreExtension());

$converter = new MarkdownConverter($environment);

$markdown = <<<MARKDOWN| 表格 | 列1 | 列2 ||------|-----|-----|| 行1 | 值 | 值 || 行2 | 值 | 值 |

~~删除线文本~~ 和 ==高亮文本== (GFM)。MARKDOWN;

echo $converter->convert($markdown)->getContent();?>


附加扩展

  • Table — 表格支持
  • Strikethrough — 删除线文本
  • TaskList — 复选框
  • Autolink — 自动链接


库对比



推荐