se non sbaglio preg_replace è più veloce, e se aggiungi il /i diventa case insensitive.

dagli esempi nella pagina man di preg_replace:

codice:
 foreach ($aBadWords as $key => $word) {

       // Regexp for case-insensitive and use the functions
       $aBadWords[$key] = "/({$word})/ie";

   }

ciao ciao