remplacement charactère strtr

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : remplacement charactère strtr

strtr

par bruno.rotrou » 06 oct. 2008, 23:00

merci
je regarde ca de plus pres
a+

par AB » 06 oct. 2008, 18:37

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

par bruno.rotrou » 06 oct. 2008, 09:44

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
ÀÃ

par Berzemus » 01 oct. 2008, 16:27

En quel encodage est ton fichier ? (ps: le mieuw, c'est utf-8)

remplacement charactère strtr

par bruno.rotrou » 01 oct. 2008, 15:23

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+