Hmmm...
I wonder, would an algorithm for a censor program just operate on a string library? For example, given an explitative "word," the filter could either replace that word with a corresponding non-offensive term or replace it with "****" or something like that. However, "wordanotherword," (ex: assault) is not censored as this string does not correspond to the one in the library.
I imagine this program would just be a big if-else if-else chain or a switch statement... It would have to scan the uploaded dialogue each word at a time between the gaps (whatever the space is in ASCII). The explicative library might just be a table of strings... depending on the language, you could have a table for English, French, Polish, etc.
The thing is, wouldn't this just potentially slow down FSO?