Um avançado filtro de palavrões.
- ignora o uso de qualquer tipo acentuação
- ignora se as palavras estão em caixa alta ou baixa
- ignora números que possam substituir letras
- ignora letras repetidas
São filtradas apenas palavras impróprias, ofensivas, agressivas ou obsenas sob o ponto de vista geral da sociedade. Palavras que não são consideradas impróprias por todos (como “merda” que pode não ser vista por alguns como de baixo calão) ou que possuam um duplo sentido junto a uma palavra comum (como “cacete” ou “pau”) não serão filtradas. Porém, será possível adicionar mais palavras ao filtro (você verá como logo abaixo).
Instale-o com npm
, npm i piii
ou com bower
, bower i piii.js
.
Veja alguns exemplos abaixo com diferentes tentativas de burlá-lo.
piii('Vá tomar no cú!'); // retorna 'Vá tomar no **!'
piii('Vá se ⓕⓞⓓⓔⓡ!'); // retorna 'Vá se *****!'
piii('Seu fdp!'); // retorna 'Seu ***!'
piii('Cúzãozãozão'); // retorna '***********'
piii('Filho da ᵽṻțặ!'); // retorna 'Filho da ****!'
piii('Que porrrrra é essa?'); // retorna 'Que ******** é essa?'
Você também pode escolher o caractere que substituirá cada letra do palavrão:
piii('Vá se foder!', {censura: 'π'}); // retorna 'Vá se πππππ!'
Por padrão as letras são substituídas pelo caractere *
. Observe que a string informada para substituir as letras deve conter apenas um caractere, caso contrário elas serão substituidas pelo caractere padrão, *
. Caso queira substituir todo o palavrão por uma sequencia de caracteres, você pode fazer como no exemplo abaixo:
piii('Vá se foder!', {censura: '(piii)', completo: true}); // 'Vá se (piii)!'
Você também poderá adicionar mais palavrões ao filtro, veja o exemplo:
piii('Que cacete! Seu m3rdinha!', {
censura: '(piii)',
completo: true,
extras: [
'(c|k)acet(e|i|inho|ao)',
'merd(a|inha|ona|ao|a(d|c)a)'
]
}); // isto retornará 'Que (piii)! Seu (piii)!'
Onde extras
deverá ser um array contendo os palavrões dentro de uma cadeia de caracteres, podendo usar expressões regulares e não havendo a necessidade de passar caracteres acentuados, por exemplo, ao invés de usar merdão
(com acento), você pode simplesmente usar merdao
, pois todos os acentos, caracteres repetidos ou números que possam substituir letras serão ignorados.
Feito por @theuves
MIT (veja o arquivo)