Profanity filter, based on Shutterstock dictionary
Via Composer
$ composer require jojoee/leo-profanity
use Jojoee\Library\LeoProfanity as LeoProfanity;
$filter = new LeoProfanity();
$filter->check('I have BoOb');
// return all profanity words (string[])
$filter->getList();
Check out mor example on clean
method
// output: true
$filter->clean('I have boob');
// no bad word
// output: I have 2 eyes
$filter->clean('I have 2 eyes');
// normal case
// output: I have ****, etc.
$filter->clean('I have boob, etc.');
// case sensitive
// output: I have ****
$filter->clean('I have BoOb');
// separated by comma and dot
// output: I have ****.
$filter->clean('I have BoOb.');
// multi occurrence
// output: I have ****,****, ***, and etc.
$filter->clean('I have boob,boob, ass, and etc.');
// should not detect unspaced-word
// output: Buy classic watches online
$filter->clean('Buy classic watches online');
// clean with custom replacement-character
// output: I have ++++
$filter->clean('I have boob', '+');
// add word
$filter->add('b00b');
// add word's array
// check duplication automatically
$filter->add(['b00b', 'b@@b']);
// remove word
$filter->remove('b00b');
// remove word's array
$filter->remove(['b00b', 'b@@b']);
Reset word list by using default dictionary (also remove word that manually add)
Clear all profanity words
- Filter algorithm from
jojoee/leo-profanity
- Testing (using
composer test
) - PSR-2 Coding Standard (tested by
composer check-style
and fix it withcomposer fix-style
.) - Security, if you discover any security related issues, please email inid3a@gmail.com instead of using the issue tracker.
- Follow SemVer v2.0.0
- Coherent history (each individual commit is meaningful), if not please squash them.
- Unit test
- Test coverage
- PHP CodeSniffer
- Support PHP version 5.6, 7.0, hhvm
- Javascript on npmjs.com/package/leo-profanity
- PHP on packagist.org/packages/jojoee/leo-profanity
- Python on PyPI
- Java on Maven
- Wordpress on wordpress.org
Please run composer check
and fix before commit
- Skeleton template: thephpleague/skeleton, koriym/Koriym.PhpSkeleton, petk/php-skeleton