Giter Site home page Giter Site logo

devxprite / profanity-cleaner Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 257 KB

JavaScript library that helps you censor bad words in a given text.

Home Page: https://www.npmjs.com/package/profanity-cleaner

License: MIT License

JavaScript 100.00%
badword-filter badwords javascript profanity profanity-detection profanity-filter

profanity-cleaner's Introduction

profanity-cleaner

A simple and lightweight JavaScript library that helps you clean profane or inappropriate words from a given text. It provides a simple API that you can use to filter out bad words and replace them with asterisks or any other character of your choice. The library uses a predefined list of bad words that can be customized to fit your specific requirements.

Installation

To install the package, run the following command:

npm install profanity-cleaner

Usage

use in Browser

Use directly in the browser with jsDelivr or unpkg by including the following script tag in your HTML file.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Profanity Cleaner</title>
    </head>
    <body>
        <script src="https://cdn.jsdelivr.net/npm/profanity-cleaner@latest"></script>
        <script>
            const text = "What the hell is going on?";
            const cleanedText = profanityCleaner.clean(text);

            console.log(cleanedText) // What the **** is going on?
        </script>
    </body>
</html>

use as a module

Import the clean function and call it with a string argument to censor bad words in the text.

import { clean } from 'profanity-cleaner';

const text = "Don't be an ash0le";
console.log(clean(text)) // Don't be an ******

Options

You can pass options to the clean function as a second argument. The following options are available:

placeholder

Type : string
Default : *

The character to use as a placeholder for the bad words.

import { clean } from 'profanity-cleaner';

const text = "This is a funck!ng test";

console.log(clean(text, { placeholder: '#' })) 
// OUTPUT: This is a f####g test

customReplacement

Type : function
Default : null

A function that returns a string to replace the bad words with. The function is passed the bad word as an argument.

import { clean } from 'profanity-cleaner';

const text = "This is a funck!ng test";

console.log(clean(text, { customReplacement: (word) => word.toUpperCase() }))
// OUTPUT: This is a FUNCK!NG test

keepFirstAndLastChar

Type : boolean
Default : false

Whether to keep the first and last character of the bad word.

import { clean } from 'profanity-cleaner';

const text = "This is a funck!ng test";

console.log(clean(text, { keepFirstAndLastChar: true }))
// OUTPUT: This is a f****g test

customMatch

Type : function
Default : null

A function that returns a boolean to determine whether a word should be censored. The function is passed the bad word as an argument. In the following example, only words with an odd number of characters are censored.

import { clean } from 'profanity-cleaner';

const text = "This is a funck!ng test";

console.log(clean(text, { customMatch: (word) => word.length % 2 != 0 }))
// OUTPUT: This is a f*****g test

exceptions

Type : array
Default : []

An array of words that should not be censored. In the following example, the word hell is not censored.

import { clean } from 'profanity-cleaner';

const exceptionalWords = ['hell'];
const text = "What the hell is going on?";

console.log(clean(text, { exceptions: exceptionalWords }))
// OUTPUT: What the hell is going on?

customBadWords

Type : array

An array of words that should be censored. In the following example, the word bad is censored.

import { clean } from 'profanity-cleaner';

const badWordsArray = ['bad', 'evil'];
const text = "This is a bad example";

console.log(clean(text, { customBadWords: badWordsArray }))

// OUTPUT: This is a *** example

Credits

  • The list of bad words used in this library was sourced from the badwords project.

License

profanity-cleaner is released under the MIT License.

profanity-cleaner's People

Contributors

devxprite avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.