joshuabedford / laravel-word-filter
Laravel 的单词和脏话过滤器。
v1.0.4
2019-03-08 16:30 UTC
Requires
- php: >=5.5.9
Requires (Dev)
- laravel/laravel: 5.*
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^7.5
- symfony/css-selector: 3.1.*
- symfony/dom-crawler: 3.1.*
README
附言:是的,我在尽力完成这篇文档。不,我大多数这些单词/短语都不了解。
Laravel Word Filter
安装后允许过滤或拒绝禁止的单词。可以作为独立应用或与 Laravel 验证器一起使用。利用两个数据库表来存储可接受和禁止的单词的白名单和黑名单。可用于 Laravel 的表单 验证 功能(例如防止某些用户名),拒绝某些输入并要求用户修正。
安装
composer require joshuabedford/laravel-word-filter
配置
php artisan vendor:publish
上面的命令将发布相应的文件。接下来,我们必须安装数据库表。
php artisan migrate
现在数据库表已经安装,我们可以用数据填充它们。
php artisan db:seed --class=JoshuaBedford\\LaravelWordFilter\\Database\\Seeds\\DatabaseSeeder
这将用我们认为需要列入黑名单或白名单的单词列表填充数据库。
使用
$string = app('wordFilter')->filter('something with a bad word');
$string
将包含过滤后的结果。
您还可以直接定义一些东西
$string = app('wordFilter')->replaceWith('#')->replaceFullWords(false)->filter('something with a bad word'));
您还可以使用 word
过滤器与 Laravel 的 验证 功能一起使用
$request->validate([ 'username' => 'required|word|unique:users|max:255', ]);
选项
-
filter($string = string, $details = boolean)
传递要过滤的字符串。- 启用详细信息以返回结果数组
[ "orig" => "", "clean" => "", "hasMatch" => boolean, "matched" => [] ]
- 启用详细信息以返回结果数组
-
reset()
将replaceWith
和replaceFullWords
重置为默认值。 -
replaceWith(string)
更改用于替换过滤字符串的字符。 -
replaceFullWords(boolean)
启用以替换整个单词,禁用以替换部分。
致谢
本包基于 LaravelProfanityFilter,后者基于 banbuilder。