Compruebe si la cadena contiene la palabra en la matriz

Esto es para una página de chat. tengo un$string = "This dude is a mothertrucker". Tengo una serie de malas palabras:$bads = array('truck', 'shot', etc). ¿Cómo podría comprobar si$string contiene alguna de las palabras en$bad?
Hasta ahora tengo:

        foreach ($bads as $bad) {
        if (strpos($string,$bad) !== false) {
            //say NO!
        }
        else {
            // YES!            }
        }

Excepto cuando hago esto, cuando un usuario escribe una palabra en el$bads lista, la salida es NO! seguido de SÍ! así que por alguna razón el código lo está ejecutando dos veces.

Respuestas a la pregunta(10)

Su respuesta a la pregunta