[PHP] str_replace qui remplace pas ??
Fermé
karine666
Messages postés
48
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
18 décembre 2012
-
29 mars 2009 à 04:41
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 - 29 mars 2009 à 17:53
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 - 29 mars 2009 à 17:53
A voir également:
- [PHP] str_replace qui remplace pas ??
- Quel site remplace coco - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Qui remplace uptobox - Accueil - Services en ligne
- Easy php - Télécharger - Divers Web & Internet
- Site qui remplace coco ✓ - Forum Réseaux sociaux
8 réponses
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 333
29 mars 2009 à 05:08
29 mars 2009 à 05:08
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
Trois solutions :
Ou
Ou, beaucoup plus simple :
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
Trois solutions :
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
karine666
Messages postés
48
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
18 décembre 2012
5
29 mars 2009 à 05:16
29 mars 2009 à 05:16
Merci pour ton aide,
J'ai effectivement un resultat, meme si c pas tout á fait ca ;
code php :
echo "1:".$found_designation."<br>";
$txt = strtr($found_designation, 'àáâãäåÂÄÃÀòóôõöÔÖÒÕøèéêëÊËÈçìíîïÎÏÌùúûüÛÜÙÿñ', 'aaaaaaAAAAooooooOOOOeeeeEEEciiiiIIIuuuuUUUyn');
echo "2:".$txt."<br>";
resultat :
1:la sorcière romantique
2:la sorciA�re romantique
.. ?
J'ai effectivement un resultat, meme si c pas tout á fait ca ;
code php :
echo "1:".$found_designation."<br>";
$txt = strtr($found_designation, 'àáâãäåÂÄÃÀòóôõöÔÖÒÕøèéêëÊËÈçìíîïÎÏÌùúûüÛÜÙÿñ', 'aaaaaaAAAAooooooOOOOeeeeEEEciiiiIIIuuuuUUUyn');
echo "2:".$txt."<br>";
resultat :
1:la sorcière romantique
2:la sorciA�re romantique
.. ?
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 333
29 mars 2009 à 05:18
29 mars 2009 à 05:18
Atta, j'vais copier ton code et le tester en local ... je parle dans le vide là. La fatigue sans doute, il est vraiment tard...
karine666
Messages postés
48
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
18 décembre 2012
5
29 mars 2009 à 05:19
29 mars 2009 à 05:19
moi aussi... merci pour ton aide..
je file me coucher...
@+
je file me coucher...
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 333
29 mars 2009 à 05:25
29 mars 2009 à 05:25
Bon, j'ai vérifié, mon code fonctionne correctement :
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)
<?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)
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 333
29 mars 2009 à 05:32
29 mars 2009 à 05:32
Exemple :
Fichier encodé ANSI, caractères aussi, affichage navigateur iso :
1:sorcière rômantïque
2:sorciere romantique
Fichier encodé ANSI, caractères aussi, affichage navigateur utf8 :
1:sorci�re r�mant�que
2:sorciere romantique
Fichier encodé UTF8, caractères ASCII, affichage navigateur UTF8 :
1:sorcière rômantïque
2:sorciyUre ryEmanty�que
---> il faut que tout soit encodé de la même façon :o)
Fichier encodé ANSI, caractères aussi, affichage navigateur iso :
1:sorcière rômantïque
2:sorciere romantique
Fichier encodé ANSI, caractères aussi, affichage navigateur utf8 :
1:sorci�re r�mant�que
2:sorciere romantique
Fichier encodé UTF8, caractères ASCII, affichage navigateur UTF8 :
1:sorcière rômantïque
2:sorciyUre ryEmanty�que
---> il faut que tout soit encodé de la même façon :o)
karine666
Messages postés
48
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
18 décembre 2012
5
29 mars 2009 à 12:45
29 mars 2009 à 12:45
hello,
ca devient tricky ! ma page est encodé en utf-8.
Ce que je ne pige pas est que je remplace les caractères exotiques par des caractères std.
echo "1:".$found_designation."<br>";
$txt = strtr($found_designation, 'àáâãäåÂÄÃÀòóôõöÔÖÒÕøèéêëÊËÈçìíîïÎÏÌùúûüÛÜÙÿñ', 'aaaaaaAAAAooooooOOOOeeeeEEEciiiiIIIuuuuUUUyn');
echo "2:".$txt."<br>";
donc $txt ne devrait pas avoir de probleme d'affichage, qqs soit le type de codage choisi, non ?
pourtant :
1:la sorcière romantique
2:la sorciA�re romantique
?
ca devient tricky ! ma page est encodé en utf-8.
Ce que je ne pige pas est que je remplace les caractères exotiques par des caractères std.
echo "1:".$found_designation."<br>";
$txt = strtr($found_designation, 'àáâãäåÂÄÃÀòóôõöÔÖÒÕøèéêëÊËÈçìíîïÎÏÌùúûüÛÜÙÿñ', 'aaaaaaAAAAooooooOOOOeeeeEEEciiiiIIIuuuuUUUyn');
echo "2:".$txt."<br>";
donc $txt ne devrait pas avoir de probleme d'affichage, qqs soit le type de codage choisi, non ?
pourtant :
1:la sorcière romantique
2:la sorciA�re romantique
?
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 333
29 mars 2009 à 17:53
29 mars 2009 à 17:53
Je bloque pour l'utf8.
Sûr, ça fonctionne en ISO8859.1, mais là, je sèche. Il doit falloir utiliser une autre forme de désignation des caractères.
Sûr, ça fonctionne en ISO8859.1, mais là, je sèche. Il doit falloir utiliser une autre forme de désignation des caractères.