Well, as a forum admin myself, plan B would be to turn off profanity filters altogether. The bbcode bug renders the profanity filter obsolete.
And this? ¡... that's simply an ASCII character, anybody can do that. It's easy to filter, which in return doesn't make it an actual bug.
Well its a bug nonetheless.Fixing this is a lot harder than you think as it would require producing a tree representation of the post, then walking the tree looking for adjacent text nodes that produce swear words. When you find one you'd need to replace the characters in place and then flatten the tree back to output. Something that couldn't be done at runtime.
The easiest solution for this is moderation, I could say a swear word and embed it as an image. I could use ASCII text to print it out. I can use similar unicode characters and so forth. Filtering is hard, it's meant to stop the majority of cases not all.
Censoring is meant to catch the average case. If someone wants to get around it, they will. If they don't use BB code, they'll use spaces, dashes, dots... They'll use confusables.
The only solution is human intervention.
We use essential cookies to make this site work, and optional cookies to enhance your experience.