eugenecooper / purify
为Laravel 5的HTML清理器
1.1.2
2017-07-05 00:32 UTC
Requires
- php: >=5.4.0
- ezyang/htmlpurifier: 4.9.*
- illuminate/support: 5.*
Requires (Dev)
- orchestra/testbench: ~3.0
README
描述
Purify是Laravel 5的HTML清理辅助工具。它利用了HTMLPurifier这个出色的包,由ezyang开发。所有的清理荣誉都归他所有。
安装
要安装Purify,在你的composer.json
文件中插入以下require
"stevebauman/purify": "1.1.*"
现在在你的项目源代码上运行composer update
完成之后,在app/config/app.php
(或Laravel 5的config/app.php
)配置文件中插入服务提供者
'Stevebauman\Purify\PurifyServiceProvider'
你也可以使用外观(facade)
'Purify' => 'Stevebauman\Purify\Facades\Purify'
使用方法
清理字符串
要清理用户输入,只需使用clean方法
$input = '<script>alert("Harmful Script");</script> <p style="a style" class="a-different-class">Test</p>'; $cleaned = Purify::clean($input); echo $cleaned; // Returns '<p class="a-different-class">Test</p>'
清理数组
需要清理用户输入数组?只需传入一个数组
$inputArray = [ '<script>alert("Harmful Script");</script> <p style="a style" class="a-different-class">Test</p>', '<script>alert("Harmful Script");</script> <p style="a style" class="a-different-class">Test</p>', ]; $cleaned = Purfiy::clean($inputArray); var_dump($cleaned); // Returns [0] => '<p class="a-different-class">Test</p>' [1] => '<p class="a-different-class">Test</p>'
动态配置
需要为单个输入添加或修改规则?将配置数组传递为第二个参数
$configuration = ['HTML.Allowed' => 'div,b,a[href]']; $cleaned = Purify::clean($input, $configuration);
注意:传递给第二个参数的配置将与当前配置合并,并将覆盖你提供的数组键。这允许你在运行时添加设置。如果你不想合并配置,只需将
false
传递给第三个参数。
$configuration = ['HTML.Allowed' => 'div,b,a[href]']; $cleaned = Purify::clean($input, $configuration, $merge = false);
替换HTML Purifier实例
需要用自己的HTML Purifier实例替换它?调用setPurifier()
方法
$purifier = new HTMLPurifier(); Purify::setPurifier($purifier);
替换HTML Purifier配置实例
需要用自己的HTML Purifier配置实例替换它?调用setPurifierConfig()
方法
$settings = ['HTML.Allowed' => 'div,b,a[href]']; $configuration = new HTMLPurifier_Config($settings); Purify::setPurifierConfig($configuration);
配置
在配置文件中,整个设置数组直接传递给HTML Purifier配置,因此你可以随意自定义它。有关配置文档,请访问HTML Purifier网站