Filtre à gros mots pour livre d'or

4/5 (35 avis)

Snippet vu 10 873 fois - Téléchargée 19 fois

Contenu du snippet

J'ai 54 ans et c'est mon premier post, j'en tremble encore...
C'est une fonction toute bête qui filtre les gros mots, à placer jute avant l'insert dans la page d'insertion d'un message d'un livre d'or ou d'un forum. Évidemment, là où l'anti-spam de Google se casse les dents, cette fonction se les casse aussi. Si le mot est dans la liste, le message sera interdit, mais s'il ne l'est pas ou orthographié différemment, il passera. Un ami à moi ne voulait pas entendre parler de son divorce sur son forum perso et tous les messages contenant ce mot ont été effectivement interdits, mais il a fallu qu'il rajoute séparation et le nom de son ex... Cependant en ce qui concerne les messages laissés sur les livres d'or et les forums par les robots spammeurs, c'est efficace à 100%

Source / Exemple :


<?php
function anti_grosmots($texte,$fichier,$rep) {
//on mets en minuscules et on enlève les accents
$texte = strtolower(OterAccents($texte));
//on élimine d'office http (robots spammeurs) et les caractères éventuels laissés par htmlentities
if(preg_match("/http/i", $texte || preg_match("/<b>/i", $texte))
{		
	header("Location:$rep");
	exit;
}	
$liste = file_get_contents($fichier);
$tab = explode("\r\n", $liste);
foreach($tab as $mot)
	{		
		if (preg_match("/^$mot$/i",$texte))
			{		
			header("Location:$rep");
			exit;
			}	
	}
}
?>

Conclusion :


Quand les mises à jour seront finies, j'ajouterai le fichier d'insert, pour ceux qui ne savent pas (si, si, il y en a).

A voir également

Ajouter un commentaire Commentaires
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
11 déc. 2007 à 02:55
Salut ,
Sinon tu peux faire un truc du genre en moin court

<?
$message="........";
$bannir = "mais|clé";

$chainereplace=preg_replace("/(^|[^a-zA-Z])($bannir)([^a-zA-Z]|$)/si",
'\\1'.$blurb.'\\3',$message);
?>

++ PS(je les trouver sur un site)

http://www.phpinfo.net/page/archives/astuces/php/expressions-regulieres/
LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
10 déc. 2007 à 03:30
enfin, j'ai reussi a me connecter, apres 5 minutes j'ai fini par comprendre que la connection sur phpcs bug sous IE6, alors j'ai pris mon FoFox ;)

pour le code, j'aime beaucoup la fonction OterAccents :==)
cs_armenak Messages postés 58 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 25 octobre 2010
8 déc. 2007 à 18:58
La fonction pour supprimer les accents d'Arnotic se trouve ici : http://www.phpcs.com/codes/SUPPRIMER-ACCENTS_12788.aspx
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
7 déc. 2007 à 15:41
je pensait bien à un IgnoreCase.... mais j'etais pas sur de mon coup.

Merci
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
7 déc. 2007 à 15:08
http://www.google.fr/search?hl=fr&q=regexp+modificateurs
http://www.aliasdmc.fr/coursjavas/cours_javascript600.html

La propriété javascript ignoreCase de l'objet RegExp permet de connaître la valeur du modificateur i.
Afficher les 35 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.