Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arif-rh/profanity-filter
https://github.com/arif-rh/profanity-filter
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/arif-rh/profanity-filter
- Owner: arif-rh
- License: mit
- Created: 2020-10-04T03:24:42.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-13T06:25:44.000Z (about 4 years ago)
- Last Synced: 2024-09-24T05:48:05.598Z (3 months ago)
- Language: PHP
- Size: 18.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Profanity Filter
A simple class to test if a string has a profanity in it.
Note:
* This package is extended version from [DeveloperDino\ProfanityFilter](https://github.com/developerdino/ProfanityFilter), with some extra new features.
## NEW FEATURE
---------------
* `cleanWords` : obfuscate only the bad words, original package will obfuscate all sentence [see this issue](https://github.com/developerdino/ProfanityFilter/issues/20).
````
// assume that 'badword' is a bad word
$words = 'This is a badword';echo $check->cleanWords($words);
// output -> This is a *******echo $check->cleanWords($words, '+');
// output -> This is a +++++++
````
* `getBadWordsfound` -> get bad word string from check
````
// assume that 'badword' is a bad word
$words = 'This is a badword';$check->hasProfanity($words);
echo $check->getBadWordsFound();
// output -> badword* Whitelists : Set some whitelist word to fix [false positive issue](https://github.com/developerdino/ProfanityFilter/issues/21) filter
````
// Set whitelist when initialize the class
$filter = new Check($profinities, $whitelist);See `NotProfaneTest` to see more example of whitelist test
````## Checks performed
### Straight matching
Checks string for profanity as it is against list of bad words. E.g. `badword`
### Substitution
Checks string for profanity with characters substituted for each letter. E.g. `bâdΨ0rd`
### Obscured
Checks string for profanity obscured with punctuation between. E.g. `b|a|d|w|o|r|d`
### Doubled
Check string for profanity that has characters doubled up. E.g. `bbaaddwwoorrdd`
### Combinations
Also works with combinations of the above. E.g. `b|â|d|Ψ|0|rr|d`
## Installation
Install this package via composer.
```
php composer.phar require developer/profanity-filter
```## Usage
```php
/* default constructor */
$check = new Check();
$hasProfanity = $check->hasProfanity($badWords);
$cleanWords = $check->obfuscateIfProfane($badWords);/* customized word list from file */
$check = new Check('path.to/wordlist.php');/* customized word list from array */
$badWords = array('bad', 'words'); // or load from db
$check = new Check($badWords);
```### License
ProfanityFilter is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)