jojoee / leo-profanity
Profanity filter, based on Shutterstock dictionary
Installs: 6 343
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 2
Open Issues: 1
Requires
- php: ~5.6|~7.0
Requires (Dev)
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^5.7
- squizlabs/php_codesniffer: ^2.8
This package is not auto-updated.
Last update: 2024-11-10 03:05:24 UTC
README
Profanity filter, based on Shutterstock dictionary
Install
Via Composer
$ composer require jojoee/leo-profanity
use Jojoee\Library\LeoProfanity as LeoProfanity; $filter = new LeoProfanity(); $filter->check('I have BoOb');
Usage
$filter->getList()
// return all profanity words (string[]) $filter->getList();
$filter->check(string)
Check out mor example on clean
method
// output: true $filter->clean('I have boob');
$filter->clean(string, [replaceKey=*])
// 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', '+');
$filter->add(string|string[])
// add word $filter->add('b00b'); // add word's array // check duplication automatically $filter->add(['b00b', 'b@@b']);
$filter->remove(string|string[])
// remove word $filter->remove('b00b'); // remove word's array $filter->remove(['b00b', 'b@@b']);
$filter->reset()
Reset word list by using default dictionary (also remove word that manually add)
$filter->clearList()
Clear all profanity words
Note
- 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.
TODO
- Unit test
- Test coverage
- PHP CodeSniffer
- Support PHP version 5.6, 7.0, hhvm
Other languages
- 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
Contribute
Please run composer check
and fix before commit
Reference
- Skeleton template: thephpleague/skeleton, koriym/Koriym.PhpSkeleton, petk/php-skeleton