raditzfarhan / yii2-sanitizer
Yii2 Sanitizer 是一个简单的方式来清理或过滤你的输入。
1.0.1
2019-07-15 07:47 UTC
Requires
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2024-09-15 18:59:56 UTC
README
Yii2 Sanitizer 是一个简单的方式来清理或过滤使用 Yii2 框架 的应用的输入。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令:
composer require raditzfarhan/yii2-sanitizer "^1.0.0"
或者
"raditzfarhan/yii2-sanitizer": "^1.0.0"
将以下内容添加到你的 composer.json
文件的 require 部分:
发布变更
注意:有关各种发布版本变更的详细信息,请参阅 变更日志。
用法
将以下内容添加到你的主配置文件中的 component 部分。
'components' => [ ... 'sanitizer' => [ 'class' => 'raditzfarhan\Yii2Sanitizer\Sanitize', ], ... ],
示例
过滤输入数组
// data to be filtered $data = [ 'name' => ' Farhan"', 'address' => '<p>No 1, Residence ABC</p>', 'postcode' => '81221A', 'points' => '-152.1711B', 'status' => 'C1', ]; // create a filters corresponding to the input data array $filters = [ 'name' => ['trim', 'escape'], 'address' => ['trim', 'escape', 'cast:string'], 'postcode' => ['digit'], 'points' => ['digit'], 'status' => ['cast:int'], ]; // call sanitize function to filter an array of inputs $filtered_data = Yii::$app->sanitizer->sanitize($data, $filters); var_dump($filtered_data);
结果为
[ 'name' => 'Farhan\\\"' 'address' => 'No 1, Residence ABC' 'postcode' => 81221 'points' => -152.1711 'status' => '1' ]
使用方法相对简单。你的过滤器数组需要与数据数组匹配,过滤器作为数组值。你可以组合过滤器,它们将按从左到右的顺序执行。
过滤单个值
// call filter function to filter a single value. You can add filter type as the second argument. $filtered_data = Yii::$app->sanitizer->filter('<p>No 1, Residence ABC</p>', ['trim', 'cast:string']); echo $filtered_data;
结果为
No 1, Residence ABC
第一个参数是需要过滤的值。第二个参数是需要应用过滤器的过滤器。
可用过滤器
以下是你可以使用的过滤器
许可证
Yii2 Sanitizer 根据 MIT 许可证 发布。