Mein Tip: mixed preg_replace_callback ( mixed Suchmuster, callback Callback, mixed Zeichenkette [, int Limit])
http://de.php.net/manual/de/function.preg-replace-callback.php
# die Funktion muss eine eigene sein.
# um die entities zu erstellen kannst du dort die funktion html_entities nutzen ([url]http://de.php.net/manual/de/function.htmlentities.php[/url])
$prae = "§</?";
$post = ".+?>§ms";
$bad_tags = array("body","a","...");
# concat
$pattern .= $prae."[".implode("|", $bad_tags)."]*".$post;
preg_replace_callback($pattern, "makeEntity", $badInput);
[/PHP]