为Laravel 5的HTML清理器

1.1.2 2017-07-05 00:32 UTC

This package is auto-updated.

Last update: 2024-09-05 06:42:22 UTC


README

Travis CI Scrutinizer Code Quality Latest Stable Version Total Downloads License

描述

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网站

http://htmlpurifier.org/live/configdoc/plain.html