linkthrow / profanityfilter
Profanity filter package would help you censor some of the bad words users put in your posts and/or comments.
Requires
- php: >=5.3.0
Requires (Dev)
- phpspec/phpspec: ~2.1
- scrutinizer/ocular: ~1.1
This package is not auto-updated.
Last update: 2024-11-01 20:23:11 UTC
README
Profanity Filter takes strings as input and removes any bad curse words that the string might have. It check the string for specific blacklist which must match as a sperate 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 *).
Default curse words from Shuttershock list of banned words https://github.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words
This package is intended to used with Laravel. Tested and working with laravel 5.1.
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.
Install
Via Composer
$ composer require LinkThrow/profanityfilter
###Laravel
Add LinkThrow\ProfanityFilter\ProfanityFilterServiceProvider::class
to your providers array.
If you wish to use the Facade then add
'Profanity' => LinkThrow\ProfanityFilter\Facades\Profanity::class
The package will automatically use the config file containing the list of banned words.
Usage
$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!', '$');
The above code would return:
array( 'old_string' => 'Dog, puppy badpuppy baddog!', 'new_string' => '$$$, $$$$$ badpuppy bad$$$!', 'clean' => false );
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
$ phpspec run
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email LinkThrow.shakya@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.