Comment vérifier si une chaîne contient un mot spécifique en PHP ?
Bonjour à tous ! Je suis débutant en PHP et j'écris un petit script pour filtrer les commentaires sur un site. J'ai besoin de vérifier si le texte du commentaire contient certains mots interdits, comme "spam" ou "publicité".
Le problème est que je ne trouve pas la bonne façon de le faire. J'ai essayé d'utiliser l'opérateur ==, mais il ne fonctionne pas avec les chaînes. Ensuite, j'ai trouvé la fonction strpos(), mais pour une raison quelconque, elle trouve le mot même à l'intérieur d'autres mots. Par exemple, quand je cherche le mot "publicité", elle le trouve dans le mot "publicitaire" — ce n'est pas correct. Je ne comprends pas non plus comment gérer la casse : le mot "Spam" avec une majuscule devrait aussi être considéré comme une correspondance.
Voici mon code actuel, qui ne fonctionne pas comme prévu :
```php
$text = "C'est du spam, supprimez-le !";
$word = "spam";
if (strpos($text, $word) !== false) {
echo "Mot interdit trouvé !";
} else {
echo "Le texte est propre.";
}
```
Le problème est que si on écrit "Spam" avec une majuscule, la fonction ne réagit pas. Et aussi — si le mot fait partie