Page 1 sur 1

remplacement charactère strtr

Posté : 01 oct. 2008, 15:23
par bruno.rotrou
salut
j'ai un comportement etrange avec "strtr"
voici le code que je tape
 <?php
   
      // enlever les accents
   		
 $dest_fichier ="ùùbràno";
     
 $dest_fichier = strtr($dest_fichier,'àtttù','abcdu');

      ?> 

et j'obtiens le résultat suivant:
a¹a¹brabno
pour ù j'obtiens a1
et pour à j'obtiens ab
je ne comprend pas les correspondance est ce un probleme d'encodage des charactere ???
merci A+

Posté : 01 oct. 2008, 16:27
par Berzemus
En quel encodage est ton fichier ? (ps: le mieuw, c'est utf-8)

strtr

Posté : 06 oct. 2008, 09:44
par bruno.rotrou
salut
toujours embeté pour remplacer des caracteres
je fait le chose suivante

Code : Tout sélectionner

<?php $test ="ùàààààà"; $test=utf8_decode($test); $test=trim($test); // remplacer les caracteres $dest_fichier = strtr('ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy',$test); echo $dest_fichier; ?>
j'ai comme retour
ÀÃ

Posté : 06 oct. 2008, 18:37
par AB
Déjà l'ordre des tes arguments n'est pas correct concernant la fonction strtr()

Ensuite strtr n'est pas adapté pour travailler directement en utf8. Regarde la doc pour comprendre les manip nécessaires.

Cela dit pour éviter ces manipulations tu peux utiliser str_replace() à la place de strtr() ex:
     header('Content-type: text/html; charset=UTF-8');

         
     $test = 'ùàààààà';

     $test = trim($test);
    
     // remplacer les caracteres
     $cible = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ');
	 $rempl = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y');
	 
	 $result = str_replace($cible, $rempl, $test);

	echo $result;

strtr

Posté : 06 oct. 2008, 23:00
par bruno.rotrou
merci
je regarde ca de plus pres
a+