alfredo-ramos / parsedown-extra-laravel
Laravel和Lumen的Parsedown Extra包
5.0.0
2023-04-02 02:50 UTC
Requires
- php: ^8.1.0
- erusev/parsedown-extra: ^0.8.1
- ezyang/htmlpurifier: ^4.16.0
- illuminate/config: ^10.0.0
- illuminate/filesystem: ^10.0.0
- illuminate/support: ^10.0.0
- xemlock/htmlpurifier-html5: ^0.1.11
Requires (Dev)
- mockery/mockery: ^1.5.0
- orchestra/testbench: ^8.0.0
- phpunit/phpunit: ^10.0.19
Suggests
- laravel/framework: To integrate with Laravel
- laravel/lumen-framework: To integrate with Lumen
This package is auto-updated.
Last update: 2024-09-18 04:11:05 UTC
README
关于
一个Parsedown Extra包,用于Laravel和Lumen。
HTML Purifier也被用于过滤HTML输出,以保护您的应用程序免受不安全内容的影响。此外,HTML5 Definitions for HTML Purifier用于添加HTML5的新定义和清理。
兼容性
安装
打开您的composer.json
文件,并将包添加到require
对象中
"alfredo-ramos/parsedown-extra-laravel": "^5.0.0"
然后在您的终端上运行composer update
。
Laravel
自Laravel 5.5.x
以来,服务提供者和别名将自动注册,这要归功于新的包自动发现。
Lumen
在您的bootstrap\app.php
文件中注册服务提供者
$app->register(AlfredoRamos\ParsedownExtra\ParsedownExtraServiceProvider::class);
然后注册外观别名
$app->withFacades(true, [ AlfredoRamos\ParsedownExtra\Facades\ParsedownExtra::class => 'Markdown' ]);
用法
Markdown::parse()
方法负责将Markdown语法转换为HTML,其签名如下
Markdown::parse(string $text = '', array $config = [])
注意
- 如果
$config
是一个字符串,它将被视为[
purifier][
settings]
数组中的数组键。 - 如果
$config
是一个数组,它将扩展HTML Purifier的默认配置。 $config
的空值意味着它将使用HTML Purifier的默认值,有关更多信息,请参阅\AlfredoRamos\ParsedownExtra\HTMLPurifierLaravel::getConfig()
。
使用$config
作为字符串
Markdown::parse('Hello world', ['config' => 'comments'])
其中comments
是数组settings
的键。
return [ 'purifier' => [ 'enabled' => true, 'settings' => [ 'default' => [...], 'comments' => [...] ] ] ];
使用$config
作为数组
Markdown::parse('[DuckDuckGo](https://duckduckgo.com/)', ['config' => [ 'URI.Host' => 'localhost', 'URI.DisableExternal' => true ]])
有关所有配置选项,请参阅官方的HTML Purifier配置文档。
使用默认设置
Markdown::parse('Hello world!') // Is the same as Markdown::parse('Hello world!', ['config' => 'default'])
Blade
可以通过Markdown
外观在Blade中使用
{!! Markdown::parse("Hello world") !!} {!! Markdown::parse("[XSS link](javascript:alert('xss'))") !!}
上面的代码将打印
<p>Hello world</p> <!-- HTML Purifier enabled --> <p><a>XSS link</a></p> <!-- HTML Purifier disabled --> <p><a href="javascript:alert('xss')">XSS link</a></p>
辅助函数
为了您的方便,还提供了接受与外观相同参数的markdown()
辅助函数。
markdown('Hello world', ['purifier' => false])
配置
要添加新选项或编辑默认选项,请运行以下命令以复制默认配置文件
php artisan vendor:publish \
--provider='AlfredoRamos\ParsedownExtra\ParsedownExtraServiceProvider' \
--tag=config --force