sworup/profanityfilter

粗口过滤器包可以帮助您屏蔽用户在帖子或评论中输入的一些不良词汇。

1.0.1 2021-02-09 05:52 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:58:27 UTC


README

Latest Version on Packagist Software License Build Status Quality Score Total Downloads

Profanity Filter 接收字符串作为输入,并删除字符串中可能存在的任何不良诅咒词汇。它检查字符串是否包含特定的黑名单词汇,只有作为单独的单词匹配时才被认为是诅咒词汇。如果找到诅咒词汇,则将其替换为用户选择的屏蔽字符(默认为 *)。

此包旨在与 Laravel 一起使用。已测试并与 laravel 5.4 兼容。

如果您想覆盖包的配置文件,只需将其复制并重命名为 config/profanity-filter.php,然后根据您的需求进行更新。

此代码基于 Fastwebmedia/Profanity-Filter。其中大部分内容来自那里,我添加了我认为需要的东西。

安装

通过 Composer

$ composer require sworup/profanityfilter

###Laravel 将 'Sworup\ProfanityFilter\ProfanityServiceProvider' 添加到您的 providers 数组中。

如果您想使用 Facade,请添加 'Profanity' => 'Sworup\ProfanityFilter\Profanity'

包将自动使用包含禁用词汇列表的配置文件。

使用方法

$swear_word = ['dog'];
$blacklist  = ['puppy'];
$replace    = ['a' => '(a|a\.|a\-|4|@|Á|á|À|Â|à|Â|â|Ä|ä|Ã|ã|Å|å|α|Δ|Λ|λ)'];

$profanity_filter = new sworup\ProfanityFilter($swear_words, $blacklist, $replace);
echo $profanity_filter->clean('Dog, puppy badpuppy baddog!', '$');

上面的代码将返回

array(
    'old_string' => 'Dog, puppy badpuppy baddog!',
    'new_string' => '$$$, $$$$$ badpuppy bad$$$!',
    'clean'      => false
);

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ phpspec run

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件 sworup.shakya@gmail.com 而不是使用问题跟踪器。

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件