preg_replace entre 2 tableaux de même longueur

preg_replace entre 2 tableaux de même longueur - PHP - Programmation

Marsh Posté le 14-04-2008 à 18:55:30    

Bonjour,
 
J'ai cherché sur le forum, mais il doit y avoir un soucis avec le moteur de recherche !
J'ai 2 tableaux de même longueur avec d'un côté les expressions à remplacer, et de l'autre les valeurs qui remplacent :

Code :
  1. <?php
  2. $expressions = Array('{xxx}','{yyy}','{zzz}');
  3. $valeurs = Array('valeur1','valeur2','valeur3');
  4. $xml = preg_replace($expressions, $valeurs, $xml);
  5. ?>


 
Résultat : néan ! rien.. J'ai essayé avec un preg_replace_callback, au moins ca remplacait les expressions, mais je n'arrive pas à faire correspondre ces expressions avec mes valeurs.  
Je n'arrive pas à faire marcher la fonction, donc je ne sais pas si ca vient de mes tableaux, des caractères spéciaux etc...
 
Pouvez-vous m'aider à y voir clair ? Merci !

Reply

Marsh Posté le 14-04-2008 à 18:55:30   

Reply

Marsh Posté le 14-04-2008 à 19:39:48    

Bon bah j'ai fait une boucle avec str_replace, j'espérais qu'il y ai d'autres solutions plus directes.

Reply

Marsh Posté le 14-04-2008 à 19:58:29    

an3k a écrit :


Code :
  1. <?php
  2. $expressions = Array('{xxx}','{yyy}','{zzz}');
  3. $valeurs = Array('valeur1','valeur2','valeur3');
  4. $xml = preg_replace($expressions, $valeurs, $xml);
  5. ?>




 
Pourquoi preg_replace ? str_replace prend (entre autres) des tableaux en paramètres et marche très bien. :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 15-04-2008 à 09:39:20    

sielfried a écrit :

str_replace prend (entre autres) des tableaux en paramètres et marche très bien. :spamafote:


preg_replace aussi :o Mais dans ce cas précis, ce n'est effectivement pas la meilleure solution.
 
Ton problème vient du fait que tes patterns ne sont pas correctement définies, et que de surcroît les {} ont une signification en PCRE et devraient être backslashées.


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 15-04-2008 à 09:40:54    

anapajari a écrit :


preg_replace aussi :o Mais dans ce cas précis, ce n'est effectivement pas la meilleure solution.


 
J'ai pas dit le contraire. :o
 
Mais là a priori il veut remplacer des truc entre {}, str_replace peut donc probablement faire l'affaire.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 16-04-2008 à 19:49:35    

lol! Merci de ces réponses en tous cas. J'ai effectivement fait avec un str_replace. Après coups j'ai relu la doc, et j'avais mal interprété ! Surestimation de capacités anglophoniques surement :D

Reply

Marsh Posté le 16-04-2008 à 23:42:43    

an3k a écrit :

Après coups j'ai relu la doc, et j'avais mal interprété ! Surestimation de capacités anglophoniques surement :D


 
Dans ce cas, tu seras heureux d'apprendre que la doc officiel PHP est aussi dispo en français et à jour : http://www.php.net/manual/fr/ ;)

Reply

Sujets relatifs:

Leave a Replay

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