netcarver / textile
Textile标记语言解析器
v4.1.2
2024-08-29 16:28 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpstan/phpstan: 1.12.0
- phpunit/phpunit: ^9.5.20
- psy/psysh: ^0.12.4
- squizlabs/php_codesniffer: 3.*
- symfony/yaml: ^5.4.40
- dev-master / 4.1.x-dev
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.0
- 3.8.x-dev
- v3.8.0
- v3.7.7
- v3.7.6
- v3.7.5
- v3.7.4
- v3.7.3
- v3.7.2
- v3.7.1
- v3.7.0
- 3.6.x-dev
- v3.6.1
- v3.6.0
- 3.5.x-dev
- v3.5.6
- v3.5.5
- v3.5.4
- v3.5.3
- v3.5.2
- v3.5.1
- v3.5.0
- 2.5.x-dev
- v2.5.5
- v2.5.4
- v2.5.3
- v2.5.2
- v2.5.1
- v2.5.0
- 2.4.x-dev
- v2.4.3
- v2.4.2
- dev-feature/modernization
- dev-website
- dev-exp/unicode-img-title
- dev-issue-145
- dev-issue-168
- dev-issue-164
- dev-issue-96
- dev-self-link-scheme-visibility-control
- dev-issue-129
- dev-issue-22-take-3
This package is auto-updated.
Last update: 2024-08-29 16:30:43 UTC
README
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⁄2')
->parse('Hello [1/2] World!');
可以传递给setSymbol
的符号名称可以在此处找到。
前缀相对图像和链接路径
设置前缀可能很有用,如果您想将相对路径指向某个一致的位置。
$parser = new \Netcarver\Textile\Parser();
$parser
->setImagePrefix('/user/uploads')
->setLinkPrefix('/')
->parse('!image.jpg! "link":page');
联系方式
PHP-Textile项目欢迎用户提供的建设性意见和错误报告。请在存储库中打开一个问题,以评论、功能请求或错误。