PHP : str_replace ne fonctionne pas

WRInaute passionné
Bonjour à tous,


Voici un petit bout de code, sur lequel je me casse les dents depuis un bon moment, vous aurez sans doute un oeil plus avisé que moi pour trouver le problème :

Code:
                        $string = traduc_msg(29);
			$original = array("[SERVER]","[EMAIL]","[NUMAUTO]");
			$replace = array($server, $email, $num_auto);
			$txt = str_replace($original, $replace, $string);

traduc_msg est une fonction qui va chercher un message ds un champ de ma base de données.

Le message est de la forme :
Vous êtes inscrit à la newsletter .\n\nVous avez le choix de recevoir votre newsletter au format HTML:\n - http://".[SERVER]."/Newsletter/init.php?format_mail=1&email=&id=[NUMAUTO] ou au format TEXTE:\n - http://".[SERVER]."/Newsletter/init.php?format_mail=0&email=[EMAIL]&id=[NUMAUTO] \n\nSi vous ne souhaitez plus recevoir notre newsletter LicencePhoto, veuillez cliquez sur le lien suivant : \n\n - http://".[SERVER]."/Newsletter/init.php?inscrire_mail=0&email=[EMAIL]&id=[NUMAUTO]\n\n
[/quote]

après je l'envoie par email :
[code]
envoie_mail($email,$title,$txt);

[/code]

Mais dans le mail que je reçois ca donne ca, ya un petit truc qui doit m'échapper :

[quote]
Vous êtes inscrit à la newsletter.\n\nVous avez le choix de recevoir votre newsletter au format HTML:\n - http://".[SERVER]."/Newsletter/init.php?format_mail=1&email=[EMAIL]&id=[NUMAUTO] ou au format TEXTE:\n - http://".[SERVER]."/Newsletter/init.php?format_mail=0&email=[EMAIL]&id=[NUMAUTO] \n\nSi vous ne souhaitez plus recevoir notre newsletter LicencePhoto, veuillez cliquez sur le lien suivant : \n\n - http://".[SERVER]."/Newsletter/init.php?inscrire_mail=0&email=[EMAIL]&id=[NUMAUTO]\n\nLicencePhoto© vous remercie.
[/quote]

Merci d'avance à tous
 
WRInaute passionné
lol

J'ai ajouté ca pour tester :

Code:
$txt = str_replace("[EMAIL]",$email,$txt);

Et ca marche, docn je suppose qu'il doit y avoir un gros bug que je ne vois pas .

Si vous le voyiez merci d'avance
 
WRInaute discret
ce n'est pas un probleme d'antislashage de characteres delimiteurs. (je ne sais pas si les [ doivent l'etre)
c'est à tout hasard
 
WRInaute passionné
Je pense pas, j'utilise ce système ds de nombreuses parties de mon site et ca marche parfaitement , mais c'est juste quand c'est dans une url que ca bug apparemment...
 
WRInaute passionné
Utilises tu une version PHP antérieure à la version 4.0.5 ?

str_replace prend en compte un tableau en paramêtre 1 uniquement depuis cette version (qui date quand meme donc ca m'étonnerait)
 
Discussions similaires
Haut