jbroadway/slimdown

一个简单的基于正则表达式的Markdown解析器。

1.0.6-stable 2024-08-06 15:26 UTC

This package is auto-updated.

Last update: 2024-09-06 15:39:33 UTC


README

GitHub Workflow Status (branch) GitHub License Packagist Version Packagist PHP Version Support

PHP中一个简单的基于正则表达式的Markdown解析器。支持以下元素(可以通过 Slimdown::add_rule() 扩展)

  • 标题
  • 链接
  • 粗体
  • 斜体
  • 删除线
  • 引用
  • 代码块
  • 内联代码
  • 引用块
  • 有序/无序列表
  • 待办事项列表
  • 图片

最初托管在这里

用法

以下是一般用法示例

<?php

require_once ('Slimdown.php');

echo Slimdown::render (
	"# Page title\n\nAnd **now** for something _completely_ different."
);

或者通过 composer

composer require jbroadway/slimdown

然后

<?php

require __DIR__ . '/vendor/autoload.php';

echo Slimdown::render (
	"# Page title\n\nAnd **now** for something _completely_ different."
);

添加规则

:) 转换为图片的简单规则

<?php

Slimdown::add_rule ('/(\W)\:\)(\W)/', '\1<img src="smiley.png" />\2');

echo Slimdown::render ('Know what I\'m sayin? :)');

在这个例子中,我们添加了GitHub风格的内部链接(例如,[[另一个页面]])。

<?php

function mywiki_internal_link ($title) {
	return sprintf (
		'<a href="%s">%s</a>',
		preg_replace ('/[^a-zA-Z0-9_-]+/', '-', $title),
		$title
	);
}

Slimdown::add_rule ('/\[\[(.*?)\]\]/e', 'mywiki_internal_link (\'\\1\')');

echo Slimdown::render ('Check [[This Page]] out!');

更长的示例

<?php

echo Slimdown::render ("# Title

And *now* [a link](http://www.google.com) to **follow** and [another](http://yahoo.com/).

* One
* Two
* Three

## Subhead

One **two** three **four** five.

One __two__ three _four_ five __six__ seven _eight_.

1. One
2. Two
3. Three

More text with `inline($code)` sample.

> A block quote
> across two lines.

- [ ] One
- [x] Two
- [ ] Three

More text...");