Un problème de slashes

Eléphant du PHP | 209 Messages

22 août 2008, 15:41

Salut,

j'y comprend rien, je fais ceci :
<?php

$formula = '\begin{eqnarray} 2x-4y+3z&=&3\\2z&=&x-y\\-3x+y&=&z\end{eqnarray}';

echo $formula;
?>
Et à ma grande surprise voila ce qui est affiché :

Code : Tout sélectionner

\begin{eqnarray} 2x-4y+3z&=&3\2z&=&x-y\-3x+y&=&z\end{eqnarray}
(les doubles-anti slashes '\\' sont devenus simples '\')

Ce qui est quand même un gros problème et un str_replace('\\', '\\\\',... ne change rien car les '\' deviennent des '\\'.

J'ai essayé de mettre des guillemets doubles mais ça ne change rien.
Et aussi un addcslashes...

Une solution ? merci d'avance .

Mammouth du PHP | 1353 Messages

22 août 2008, 15:51

Bonjour,

En fait le \ échappe le caractère suivant,ce qui peut etre utile par exemple pour
echo "Bonjour \"Monsieur\""; //Bonjour "Monsieur"
Si tu veux avoir des \\, il te suffit d'écrire \\\ :
echo "\\\ "; //\\
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 209 Messages

22 août 2008, 15:59

Ca aurait pu marcher si ce n'était pas l'utilisateur qui entrait le texte, mais comme ça n'est pas le cas et que les utilisateurs mettront deux \ ça ne fonctionnera pas.

Mais en fait je m'étais trompé, comme je passe par un fichier, je n'ai pas ce problème...