Filtre à gros mots pour livre d'or

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 452 fois - Téléchargée 17 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

Messages postés
313
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
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/
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

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 :==)
Messages postés
58
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
25 octobre 2010

La fonction pour supprimer les accents d'Arnotic se trouve ici : http://www.phpcs.com/codes/SUPPRIMER-ACCENTS_12788.aspx
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
je pensait bien à un IgnoreCase.... mais j'etais pas sur de mon coup.

Merci
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
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.