linkthrow/profanityfilter

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

dev-master / 1.0.x-dev 2016-02-29 16:21 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:45:29 UTC


README

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

粗口过滤器以字符串作为输入,移除字符串中可能存在的任何不良诅咒词汇。它检查字符串是否包含特定的黑名单词汇,如果作为单独的词汇匹配,则被视为诅咒词汇。如果发现诅咒词汇,则将其替换为用户选择的屏蔽字符(默认为*)。

默认诅咒词汇来自Shutterstock禁止词汇列表 https://github.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words

此包旨在与Laravel一起使用。经过测试,与laravel 5.1兼容。

此代码基于 Fastwebmedia/Profanity-Filter。其中大部分内容取自那里,我添加了一些我认为需要的功能。

安装

通过Composer

$ composer require LinkThrow/profanityfilter

### 在Laravel中添加 LinkThrow\ProfanityFilter\ProfanityFilterServiceProvider::class 到您的providers数组。

如果您想使用Facade,则添加 'Profanity' => LinkThrow\ProfanityFilter\Facades\Profanity::class

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

用法

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

$profanity_filter = new LinkThrow\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 了解详情。

安全

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

致谢

许可证

MIT许可证(MIT)。请参阅 许可证文件 了解更多信息。