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...
   @+     |