Vérifiez si la chaîne contient un mot dans le tableau

C'est pour un chat. J'ai un $string = "This dude is a mothertrucker". J'ai un tableau de badwords: $bads = array('truck', 'shot', etc). Comment pourrais-je vérifier pour voir si $string contient l'un des mots dans $bad?
Pour l'instant j'ai:

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

Sauf quand je fais cela, lorsqu'un utilisateur tape un mot dans la $bads liste, la sortie est NON! suivi de OUI! si pour une raison quelconque, le code est exécuté deux fois par.

source d'informationauteur user1879926