Profanity Filter takes strings as input and removes any bad curse words that the string might have. It checks the strings for specific blacklist which must match as a separate word to be considered as a curse word. If a curse word is found, then it will replace the curse word with a censor character the user chooses (default is *).
This package is intended to used with Laravel. Tested and working with laravel 5.4.
If you want to override the Package's config file, just copy it and rename it to config/profanity-filter.php
, and update as per your needs.
This code is based on Fastwebmedia/Profanity-Filter. A major part of it is taken from there and I added the things that I thought it required.
Via Composer
$ composer require sworup/profanityfilter
###Laravel
Add 'Sworup\ProfanityFilter\ProfanityServiceProvider'
to your providers array.
If you wish to use the Facade then add
'Profanity' => 'Sworup\ProfanityFilter\Profanity'
The package will automatically use the config file containing the list of banned words.
$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!', '$');
The above code would return:
array(
'old_string' => 'Dog, puppy badpuppy baddog!',
'new_string' => '$$$, $$$$$ badpuppy bad$$$!',
'clean' => false
);
Please see CHANGELOG for more information about what has changed recently.
$ phpspec run
Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email sworup.shakya@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.