Ca y est ! J'ai trouvé une méthode parfaite !!
On sait que la méthode 'remplacement' est très éfficace. Si on écrit xxcretinxxx, alors ce mot est censuré quand meme.
Comme je souhaite absolument la méthode de Ripat avec exit (mais qui a une faille), il suffit alors de combiner les 2 !
Je commence à remplacer les mots indésirables par # BAN # :
$banwords = Array('otre ke','elle et tro ','é tro ','né pas','c tro ','cé pa ',' ossi','pouvé','kestion','kon','fodra','pk','batar','cretin','idiot','AJOUTER AUTRES GROS MOTS ICI');
$message = str_replace($banwords, '# BAN #', $message);
Maintenant que les mots indésirables ont été remplacé par BAN avec espaces autour, ca ne posera plus de problème. Je mets le script de Ripat à la suite :
$banwords = array('BAN');
foreach ($banwords as $v){
$motif = '#\b'.$v.'\b#';
if (preg_match($motif, $message)) {
echo "Le langage SMS et les insultes sont interdits";
print("<p><a href=\"javascript:history.back()\">Retour</a>");
exit; }
}
Voilà, c'est génial maintenant ! Comme 9 messages sur 10 sur mon forum sont des messages écrits en sms, je gagne un temps considérable !
Merci à vous tous !