FLY LM | maverick2001 a écrit a écrit :
Y'a pas qu'une seule méthode pour faire ça, chacun son truc.
Pour ce qui est de la rapidité, à mon avis, ça doit faire comme entre un ereg_replace et un str_replace.... Just 4 fun, compare un remplacement bateau et le temps que ca met sur un gros fichier texte. Avec ereg_replce, t'as toutes les chances d'avoir un 'maximum execution time'.
A toi de voir
|
OK, j'ai testé, effectivement c'est plus long avec la REGEXP...
Temps moyen pour la strstr : 0.0005 sec
Temps moyen pour la REGEXP : 0.0020 sec
Ce temps prends en compte le calcul du temps, mais bon il est le même pour les deux méthodes.
$pattern = array("'À'","'Á'","'Â'","'Ã'","' Ä'","'Å'","'à'","'á'","'â'","' ã'","'ä'","'å'","'Ò'","'Ó'","' Ô'","'Õ'","'Ö'","'Ø'","'ò'","' ó'","'ô'","'õ'","'ö'","'ø'","' È'","'É'","'Ê'","'Ë'","'è'","' é'","'ê'","'ë'","'Ç'","'ç'","' Ì'","'Í'","'Î'","'Ï'","'ì'","' í'","'î'","'ï'","'Ù'","'Ú'","' Û'","'Ü'","'ù'","'ú'","'û'","' ü'","'ÿ'","'Ñ'","'ñ'" );
$replace = array("A","A","A","A","A","A","a"," a","a","a","a","a","O","O","O","O ","O","O","o","o","o","o","o","o", "E","E","E","E","e","e","e","e"," C","c","I","I","I","I","i","i","i ","i","U","U","U","U","u","u","u", "u","y","N","n" );
$new = preg_replace($pattern,$replace,$var);
echo strToupper($new);
Comme quoi les REGEXP ne sont pas adaptées à ce cas...
Par ailleurs, j'ai dit une connerie hier soir, il ne faut pas faire le strtoupper() afin d'économiser des caractères de comparaison/substitution commme je l'avait dit. Le strToupper() ne converti pas les caractères accentués en leur équivalent majuscule...
@+ |