I figured how to block inappropriate words from sharepoint blog posts through workflow. I want to do the same when those keywords appear in posts title or comments.
You could do this in ItemUpdating/ItemUpdated, then you could have it run for all lists from the same event receiver.
It would only be available for approval once the filtering is done by ItemUpdated, ItemUpdating would set it as a draft.
Have a hidden list of banned words, the words are stored in regex replacement text for simplicity, then run the list against the values, once done they can be set to be allowed for approval by using a flag column or automatically approved and published.