|
|
|
|
Bonjour,
J'ai un ptit soucis avec str_replace sous php. Je ne comprends pas pourquoi ca marche pas... et vu l'heure, je suis trop flappi. Sans doute est ce bête et saurez vous rapidement fixer mon erreur.
Le but du code est de remplacer les caractères exotiques (é,è,ü...) par des equivalents sans accents.
Voici mon code (php) :
echo "1:".$found_designation."<br>";
$eee = array("é", "è", "ê");
$txt= str_replace( $eee , 'e' , $found_designation );
echo "2:".$txt."<br>";
$aaa = array("à", "á", "ä");
$txt = str_replace($aaa,"a",$txt);
echo "3:".$txt."<br>";
$uuu = array("ü", "ù");
$txt = str_replace($uuu,"u",$txt);
echo "4:".$txt."<br>";
Et ca me donne :
1:la sorcière romantique
2:la sorcière romantique
3:la sorcière romantique
4:la sorcière romantique
Bref, il se passe pas grand chose... help !
En esperant que je ne suis pas devenue folle...
Cordialement
Configuration: Windows XP Firefox 3.0.8
C'est parce que tu transmet un tableau $aaa = array() à str_replace, et non pas des chaines, ou alors, le deuxieme paramètre de str_replace devrait êtr eun tableau comprenant autant d'éléments répétés que d'éléments à remplacer
foreach($aaa as $a){
$txt = str_replace($a,"a",$txt);
}
...
Ou
$txt = str_replace($aaa, array('a','a','a'), $txt);
}
...
Ou, beaucoup plus simple : $txt = strtr($txt, 'àáâãäåÂÄÃÀòóôõöÔÖÒÕøèéêëÊËÈçìíîïÎÏÌùúûüÛÜÙÿñ', 'aaaaaaAAAAooooooOOOOeeeeEEEciiiiIIIuuuuUUUyn'); EDIT : j'ai dit une connerie : Si search est un tableau et que replace est une chaîne, alors la chaîne de remplacement sera utilisée pour chaque élément de search Je relis ton code |
Merci pour ton aide,
|
Bon, j'ai vérifié, mon code fonctionne correctement :
<?php $found_designation = "sorcière rômantïque"; echo "1:".$found_designation."<br>"; $txt = strtr($found_designation, 'àáâãäåÂÄÃÀòóôõöÔÖÒÕøèéêëÊËÈçìíîïÎÏÌùúûüÛÜÙÿñ', 'aaaaaaAAAAooooooOOOOeeeeEEEciiiiIIIuuuuUUUyn'); echo "2:".$txt."<br>"; ?> Le problème vient juste de l'encodage des caractères et/ou du fichier et/ou de l'encodage de l'affichage navigateur(ansi / utf8) |
Exemple :
|
Hello,
|