beh.....credo che sia abbastanza complicato
ti faccio un'esempio
hai un testo di questo tipo
Io sono figo e te no!
mettiamo che la parola figa è una parolaccia (cosa che non lo è xo facciamo finta che è cosi)
ad ogni parola dovresti dare un peso confrontandola con ogni badword...
prendiamo la parola figo...e la parola figa...hanno di differente 1 lettera...se confronti letterà per letterà, scartando a blocchi i caratteri uguali consecutivi e facendo check sulla lunghezza e altro il soft sarebbe CERTO (75% e passa di possibilità, ad esempio) che figo è una parolaccia e che è stata solo modificata l'ultima lettera...quindi la censurerebbe ... cosa errata
dovresti quindi avere anche un'elenco dichiamato tipo whitewordlist che contiene tutte le parole che somigliano alle parolacce che non sono parolacce...e quindi devi controllare prima se la parola che ti interessa è nella whitewordlist e poi fare tutti i controlli...e li morrebbe qualsiasi software))