Supprime les répétitions de caractère ou suite de caractère.

Contenu du snippet

Supprime toutes les répétitions de caractère ou suite de caractère.
Par exemple "AAAAAAAAAAAAAAAAAAAAAAAAA" ou "azert azert azert azert".

Source / Exemple :


function noRepeat($txt,$size)
{ // $txt : chaine de caractère ; $size : nombre maximale de répétition
    $search="'(.+?)\\\\1{".$size.",}'";
// Expression régulière : chaine de caractère répété plus de $size fois

    $replace=str_repeat("\\\\1", $size);
// Création d'une chaine de caractère répété $size fois
// \\\\1 : Expression régulière : revoie la chaine de caractère qui est répété
// str_repeat permet de multiplié $size fois la chaine de caractère

    while(preg_match($search,$txt))
    {      // boucle de recherche : tant qu'il y a une répétition

        $txt=preg_replace($search,$replace, $txt);
// On remplace $search par $replace dans la chaine
    }
    return $txt;
// retourne la chaine de caractère vérifié
}

Conclusion :


Merci de commenter.

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.