🤬🤭 Is Offensive Helper Function - Check if a string contains offensive words or variations of them
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


🤬🤭 Is Offensive Helper Function

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.


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.


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