Choisissez un test :

Application 1 : Enlever les accents

Les anglais s'en foutent mais pas nous :-P
On veut souvent enlever les accents d'une chaîne de caractères. Voici plusieurs solutions pour tester leur rapidité, à 10 000 occurences sur un texte d'une trentaine de lignes.

TEST 1 --- avec des ereg_replace
<?php     $chaine = ereg_replace('[àâäåãáÂÄÀÅÃÁæÆ]','a', $chaine);
    
$chaine = ereg_replace('[çÇ]','c', $chaine);
    
$chaine = ereg_replace('[éèêëÉÊËÈ]','e', $chaine);
    
$chaine = ereg_replace('[ïîìíÏÎÌÍ]','i', $chaine);
    
$chaine = ereg_replace('[ñÑ]','n', $chaine);
    
$chaine = ereg_replace('[öôóòõÓÔÖÒÕ]','o', $chaine);
    
$chaine = ereg_replace('[ùûüúÜÛÙÚ]','u', $chaine);
    
$chaine = ereg_replace('[ÿ]','y', $chaine);
 
?>

Durée: 0.02176 s, Vitesse: 45949 fois par seconde

TEST 2 --- strtr
<?php $a = strtr($a, 'àâäåã...', 'aaaa....'); ?>
Durée: 0.00204 s, Vitesse: 491136 fois par seconde

Conclusion...

Alors là y'a pas photo ! Le strtr est 80 fois plus rapide que quelques regexp.