Io ho fatto così e funziona
Codice PHP:
$badwords = array('pippo','pluto');

$fTesto "Un po' di testo contenente pluto, ma non l'altro";

foreach ( 
$badwords as $sr )
{
    if ( 
preg_match('/'.$sr.'/',$fTesto) )
    {
        echo 
"Badword trovata! ".$sr."<br />";
    }
    else
    {
        echo 
"<p>".$sr." non è una badword</p>";
    }

Togliendo i '/' da 2 warning sul fatto che il delimitatore del pattern per la regex non è valido (ovviamente) e non riconosce le badwords

Adattalo ai dati che hai e vedrai che funzionerà anche a te.