Php vérifier si la chaîne contient plusieurs mots

J'ai regardé autour de l'internet pour quelque chose qui va le faire, mais il ne fonctionne qu'avec un seul mot.

Je suis en train de créer un script qui permet de détecter un mauvais nom d'utilisateur de mon site, le mauvais nom d'utilisateur sera détecté si le nom d'utilisateur contient l'un des mots dans un tableau.

Voici le code que j'ai fait, mais par un échec.

$bad_words = array("yo","hi");
$sentence = "yo";

if (strpos($bad_words,$sentence)==false) {
echo "success";
}

Si quelqu'un pouvait m'aider, j'apprécierais.

Double Possible: stackoverflow.com/q/1916261/259457
Qu'en est-il le nom de quelqu'un est "Petits"?
Ne pas utiliser = = (0 == false) reviendrait vrai. Si une fonction retourne plusieurs types, utilisation stricte (===, !==)
Ce sera ensuite transformé en un mauvais mot de filtre.
Peut les noms d'utilisateur contient des espaces ou d'autres caractères non alphanumériques? Et êtes-vous concerné avec des chaînes de caractères comme "yö", ce qui n'apparaissent pas dans votre filtre?

OriginalL'auteur Frank | 2012-05-09