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.17699 s, Vitesse: 5650 fois par seconde

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

Conclusion...

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