netcarver/textile

Textile标记语言解析器


README

Textile参考 | 实时编辑器

PHP-Textile是PHP的现代Textile标记语言解析器。Textile是一种人性化的网页文本生成器,它使用轻量级、易于阅读的类似纯文本的标记语言,并将其转换为格式良好的HTML

安装

使用Composer

$ composer require netcarver/textile

用法

可以通过Netcarver\Textile\Parser类访问Textile解析器。该类高度可配置,实际的解析通过parse方法完成。

require './vendor/autoload.php';
$parser = new \Netcarver\Textile\Parser();
echo $parser->parse('h1. Hello World!');

解析不受信任的输入

如果您使用PHP-Textile来格式化用户提供的输入,例如博客评论,请记住启用受限解析模式。

$parser = new \Netcarver\Textile\Parser();
echo $parser
    ->setRestricted(true)
    ->parse('!bad/image/not/allowed.svg!');

在受限模式下,PHP-Textile不允许更强大的格式化选项,如内联样式,并移除任何原始的HTML。

解析单行字段

如果您将PHP-Textile用作字段级格式化器,仅解析内联跨度字符,请使用setBlockTags方法禁用块标签。

$parser = new \Netcarver\Textile\Parser();
echo $parser
    ->setBlockTags(false)
    ->parse('Hello *strong* world!');

上面的输出

Hello <strong>strong</strong> world!

文档类型

目前,PHP-Textile可以针对XHTML或HTML5输出,默认为XHTML,以实现向后兼容性。可以通过setDocumentType方法更改目标文档类型。

$parser = new \Netcarver\Textile\Parser();
echo $parser
    ->setDocumentType('html5')
    ->parse('HTML(HyperText Markup Language)');

设置备用符号

可以使用setSymbol方法覆盖Textile的排版替换。如果您需要设置Textile进行非标准替换,请在使用parse解析输入之前调用setSymbol

$parser = new \Netcarver\Textile\Parser();
$parser
    ->setSymbol('half', '1&#8260;2')
    ->parse('Hello [1/2] World!');

可以传递给setSymbol的符号名称可以在此处找到。

前缀相对图像和链接路径

设置前缀可能很有用,如果您想将相对路径指向某个一致的位置。

$parser = new \Netcarver\Textile\Parser();
$parser
    ->setImagePrefix('/user/uploads')
    ->setLinkPrefix('/')
    ->parse('!image.jpg! "link":page');

联系方式

PHP-Textile项目欢迎用户提供的建设性意见和错误报告。请在存储库中打开一个问题,以评论、功能请求或错误。

开发

查看CONTRIBUTING.textile