Hm, there should be an algorithim that scans the order of letters to find a match to a blacklist. With certain rules such as 2 or less characters between the selected letters that compose the black listed word. Maybe minor warnings such as an automatic temporary mute on a timer that increases with repetition in a certain designated time period, notification to moderators, and a warning to the offender.
Basically, I'll substitute and use the word "noob" Even if I do "n-o-o-b" or "n o o b" or even "N..O,,O..B" it will still recognize it because it sense the pattern of N followed by 2 O's and a B where there is less than 2 characters, symbols, or spaces, between each of the letters.
The black list could also include mispellings of the word if they still convey the same message such as: n00b
Even if it is too strict and blocks a word like competitions, for the rather vulgar 3 letter word that makes it up, there could be a whitelist or an exceptions list that negates censoring it and can be added to by staff realtime.
If the word is blocked and I try to type it in chat, this might happen V
First time- auto warning message( in case typo or such)
Second time- auto sterner warning message, short mute(for the clumsy^^,Might want to skip this depending on leniency)
Third time- auto Extreme warning message, notification to moderators, auto mute that can be adjusted by moderator
Although it may seem as daunting task, I've seen it done before and it effectively eliminates profanity in chat. Thanks for your time ^^