io farei così:

salvi tutte le parolacce in un file (una per linea). Leggi il file riga a riga e schiaffi tutto in un array. Poi creerei un altro array in questo modo

codice:
$sost = array();
for ($i = 0; $i < count($badwords); $i++) {
  $sost[] = "<span class=\"vulgar\">".$badwords[$i]."</span>";
}
oppure lo crei direttamente mentre leggi il file con le parole proibite.

A quel punto, visto che vorrai anche segnalare a chi commette l'offesa che cosa deve andare a sostituire, nel post metti
codice:
$highlights = preg_replace($badwords,$sost,$testo_post);
if ($highlights != $testo_post) { // ci sono state sostituzioni!! Allora sono presenti parole proibite
?>
  Modifica il post, sono presenti parole proibite
  <?php echo($highlights);
} //chiudo if
?>