Probleme avec str_replace

Probleme avec str_replace - PHP - Programmation

Marsh Posté le 08-10-2003 à 00:14:01    

Salut,
 
mon probleme est qu il ne me fais pas le remplacement avec str_replace g cree 2 tableau avec 2 trucs possible mais rien a faire..  :??:  :??:  :??:  
 
 
voila mon code  

Code :
  1. <?
  2. $nux = "blabla bla :) lalalala :( lolololo";
  3. $sch = array(":)",":(" );
  4. $rempl = array("<img src='smile.jpg' width='15' height='15'>","<img src='rale.jpg' width='15' height='15'>" );
  5. echo $bodytag = str_replace("$sch", "$rempl", "$nux" );
  6. ?>


 
si qq un voit qq chose qui pourrais m'aider  
 
Merci  :hello: @++


Message édité par nunux2002 le 08-10-2003 à 00:18:39
Reply

Marsh Posté le 08-10-2003 à 00:14:01   

Reply

Marsh Posté le 08-10-2003 à 01:00:06    

Ben c'est simple :
 
$sch vaut array et non une valeur particulière.
 
Pour récupérer une valeur dans un tableau, on utilise $sch[0] pour la première valeur, puis 1 etc...
Donc dans ton cas, il faut faire 2 str_replace.
 
Sinon t'as les expreg, mais c'est plus lent à l'exécution et dans ton cas, c'est inutile je trouve.

Reply

Marsh Posté le 08-10-2003 à 01:01:13    

Ah oui, un dernier truc :
 
je trouve également plus propre de faire :
 
$bodytag = str_replace("$sch", "$rempl", "$nux" );
puis ensuite echo $bodytag;

Reply

Marsh Posté le 08-10-2003 à 10:30:28    

je peux pas faire $sch[$i] et $i s'autoincremente a chaque boucle jusqu as ce qu il atteigne une valeur definie ??  
 
je pense qui oui mais sait po si il a pas un moyen plus simple
et peux etre moins lourd  
 
le but est de : remplacer dans un texte des signe et afficher des smilies ect...  
 
@+ :hello:

Reply

Marsh Posté le 08-10-2003 à 10:32:46    

nunux2002 a écrit :

je peux pas faire $sch[$i] et $i s'autoincremente a chaque boucle jusqu as ce qu il atteigne une valeur definie ??
 
je pense qui oui mais sait po si il a pas un moyen plus simple
et peux etre moins lourd  
 
le but est de : remplacer dans un texte des signe et afficher des smilies ect...  
 
@+ :hello:  


 
bien sûr que si tu peux, mais dans le code que tu as montré, tu avait juste $sch et non $sch[$i].
 :sarcastic:

Reply

Marsh Posté le 08-10-2003 à 10:43:51    

tu as essayé ton premier code mais sans les quotes dans le str_replace() ?
 
j'utilise un code similaire qui fonctionne normalement (sauf que j'ai mis les tableaux directement dans le str_replace()
 
essayes aussi de faire  
 

Code :
  1. echo str_replace($sch,$rempl,$nux);


 
la syntaxe avec echo $var = qqcose est peut être pas evaluée correctement
 
Hermes > le str_replace avec des tableaux fonctionne bien comme ça pas besoin de $i[1] etc.. cf la doc


Message édité par Sh@rdar le 08-10-2003 à 10:45:01

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 08-10-2003 à 10:51:18    

oui j'avais lu ca dans la doc mais ca ne fonctionne pas c pour ca que j'ai poster et on m'as dis que ca devais etre $var[$i] ou defini i pas 0,1,2,3,.... je vais tester en mettant dirrectement les tableau dans le str_replace.. oui en faisant echo str_replace je vous dis quoi  :hello:

Reply

Marsh Posté le 08-10-2003 à 10:54:09    

Sh@rdar a écrit :

tu as essayé ton premier code mais sans les quotes dans le str_replace() ?
 
j'utilise un code similaire qui fonctionne normalement (sauf que j'ai mis les tableaux directement dans le str_replace()
 
essayes aussi de faire  
 

Code :
  1. echo str_replace($sch,$rempl,$nux);


 
la syntaxe avec echo $var = qqcose est peut être pas evaluée correctement
 
Hermes > le str_replace avec des tableaux fonctionne bien comme ça pas besoin de $i[1] etc.. cf la doc


 
 :??:  :??:  ah ouai ????  
 
ben c'est cool alors. Moi je faisais bêtement une boucle.  :)  
 
Remarque ça doit pas changer grand chose parce que php doit lui aussi faire une boucle dans ce cas.

Reply

Marsh Posté le 08-10-2003 à 10:57:47    

fonctionne pas :'(
 
en mettant mes array dans le str_replace
 :cry:  :cry:  
 
enfin je ferais une boucle si ya po d'autre moyen
 
sur la doc g lus que c'etait pas possible de mettre des tableau dans le str_replace sur certaine version de php ??( si j'ai bien compris) :D  je serais pas dans ce cas  :??:

Reply

Marsh Posté le 08-10-2003 à 11:02:27    

nunux2002 a écrit :

fonctionne pas :'(
 
en mettant mes array dans le str_replace
 :cry:  :cry:  
 
enfin je ferais une boucle si ya po d'autre moyen
 
sur la doc g lus que c'etait pas possible de mettre des tableau dans le str_replace sur certaine version de php ??( si j'ai bien compris) :D  je serais pas dans ce cas  :??:  

montre ton code complet STP...  :ange:

Reply

Marsh Posté le 08-10-2003 à 11:02:27   

Reply

Marsh Posté le 08-10-2003 à 11:04:52    

En PHP 4.0.5 et plus récent, tous les paramètres de str_replace() peuvent être des tableaux
 
pas sur d'avoir la 4.0.5  :??:  
 
enfin je ferais une boucle a moins sh@rdar explique ...  :hello:

Reply

Marsh Posté le 08-10-2003 à 11:13:30    

j'utilise ça pour une bête suppression d'accents dans des noms de répertoires pour gérer des images
 
$val['Marque'] =   str_replace(array('é','è','à','ù'),array('e','e','a','u'),$val['Marque']);
 
ça fonctionne très bien !
 
quelle est ta version de php ?? si elle est inférieur à la 4.0.5 ça va pas marcher tu l'as dit toi même


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 08-10-2003 à 11:43:03    

viend de faire un phph info et ma version est : PHP Version 4.2.0
 
donc c bon.. jpige plus rien  :pt1cable:  :pt1cable:  :pt1cable:   :lol:  
 
je regarder tt ca tt a l'heure quand je serais a la maison et plus au taff  :sol:

Reply

Marsh Posté le 08-10-2003 à 11:45:44    

colle ton code complet et fais ce que Hermes et moi t'avons demandé plus haut
 
echo str_replace($sch,$rempl,$nux);
 
et pas  
 
echo $bodytag = str_replace("$sch", "$rempl", "$nux" );


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 08-10-2003 à 12:01:57    

Grand merci  :D  comme ca ca fonctionne  :bounce:  
 
donc pas de "" et ca marche :sol:  
 
Grand merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed