divineomega/is_offensive

This PHP package provides an `is_offensive` helper function. Passing a string to `is_offensive` will return a boolean telling you if it contains offensive words.

v1.4.1 2018-09-13 08:44 UTC

README

Build Status Coverage Status StyleCI

This PHP package provides an is_offensive helper function. Passing a string to is_offensive will return a boolean telling you if it contains offensive words.

Installation

The is_offensive package can be easily installed using Composer. Just run the following command from the root of your project.

composer require "divineomega/is_offensive"

If you have never used the Composer dependency manager before, head to the Composer website for more information on how to get started.

Usage

To check if a word is offensive, just pass it to the is_offensive method.

Here are a few examples:

is_offensive('fuck');  // true
is_offensive('fuk');   // true

is_offensive('duck');  // false
is_offensive('cat');   // false

is_offensive('sex');         // true
is_offensive('Middlesex');   // false

is_offensive('tit');         // true
is_offensive('Tittesworth'); // false

is_offensive('cunt');        // true
is_offensive('Scunthorpe');  // false

If you prefer to avoid using helper functions, the following syntax is also available.

$offensive = (new OffensiveChecker())->isOffensive('fuck')  // true

Custom word lists

There are reasons why you may wish to define your own list of offensive words. Perhaps the ones supplied are too strict, or not strict enough.

$blacklist = ['moist', 'stinky', 'poo'];

$offensiveChecker = new OffensiveChecker($blacklist);

$offensiveChecker->isOffensive('poo');     // true
$offensiveChecker->isOffensive('poops');   // true

You can also define a whitelist of words that will be accepted even if they match the defined list of offensive words.

$blacklist = ['moist', 'stinky', 'poo'];
$whitelist = ['poop'];

$offensiveChecker = new OffensiveChecker($blacklist, $whitelist);

$offensiveChecker->isOffensive('poo');     // true
$offensiveChecker->isOffensive('poops');   // false