Controle de répétition de caractères

Contenu du snippet

Bonjour

Ce petit code permet de contôler les répétitions de caractères et aussi de l'interdire. Je l'ai fait suite à la demande d'un ami qui voulait éviter que les visiteurs de son site mettent des commentaires flooder en écrivant n'importe quoi.
Certes cela n'empechera pas les gens d'écrire n'importe quoi et n'importe comment, mais au moins il n'y aura pas de message type "aaaaaaaaaaaaaabbbbbbbbbbbbbbb".

Ma fonction ecrira "ab".

Pour l'instant, je n'ai traité que les minuscules, libre choix a vous de modifier le code pour traiter les majuscules aussi.

Source / Exemple :


<?
function antiflood ($chaine) {
for($cdascii=97;$cdascii<=123;$cdascii++) {
// le chiffre 3 permet de controler qu'il y a 3 fois de suite le meme caractère
// Il fait le changer pour controler la repetition des caractères et l'adapter a vos besoins
$chaine=ereg_replace(chr($cdascii)."{3,}",chr($cdascii),$chaine);
}
return $chaine;
}
$tflood = "aaaaaaaabbbbbbbcddddeefghijkllmmmmmmnnn";
echo "Valeur départ : ".$tflood."<br>";
echo "Nouvelle valeur : ".antiflood($tflood)."<br>";
?>

A voir également

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.

Du même auteur (LSGSERVAL)