Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/devxprite/profanity-cleaner
JavaScript library that helps you censor bad words in a given text.
https://github.com/devxprite/profanity-cleaner
badword-filter badwords javascript profanity profanity-detection profanity-filter
Last synced: 26 days ago
JSON representation
JavaScript library that helps you censor bad words in a given text.
- Host: GitHub
- URL: https://github.com/devxprite/profanity-cleaner
- Owner: devXprite
- License: mit
- Created: 2022-12-21T11:42:10.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-05T15:04:53.000Z (almost 2 years ago)
- Last Synced: 2024-09-18T15:43:26.443Z (about 2 months ago)
- Topics: badword-filter, badwords, javascript, profanity, profanity-detection, profanity-filter
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/profanity-cleaner
- Size: 251 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
## 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:```bash
npm install profanity-cleaner
```## Usage
### use in Browser
Use directly in the browser with [jsDelivr](https://www.jsdelivr.com/package/npm/profanity-cleaner) or [unpkg](https://unpkg.com/profanity-cleaner/) by including the following script tag in your HTML file.
```html
Profanity Cleaner
const text = "What the hell is going on?";
const cleanedText = profanityCleaner.clean(text);console.log(cleanedText) // What the **** is going on?
```
### use as a module
Import the clean function and call it with a string argument to censor bad words in the text.```javascript
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.
```javascript
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.
```javascript
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.
```javascript
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.
```javascript
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.
```javascript
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.
```javascript
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](https://github.com/web-mech/badwords) project.## License
`profanity-cleaner` is released under the [MIT License](LICENSE).