par
Ryle » 23 mai 2009, 09:30
En fait, javascript interprète les retours à la ligne dans le code, comme des fins d'instructions (le point-virgule en fin de ligne est en effet facultatif, mais perso, je trouve quand même ça plus clair

)
Du coup, quand avec php tu génère le code javascript suivant :
<script type="text/javascript">
var maVariable = 'un texte avec
un retour à la ligne';
</script>
Javascript génère une erreur, puisque pour lui, il s'agit de deux instructions, la première s'arrêtant avant d'avoir refermé la chaine.
La solution d'
enneite te permet de transformer les retours à la ligne présents dans ta chaine initiale, afin que php ne les interprète pas (\\n) et donc ne génère pas de renvoi à la ligne dans le code js. En revanche, il va ainsi pouvoir écrire des "\n" dans la chaine javascript, qui ne seront pas considérés comme une fin d'instruction, mais bien un retour à la ligne dans la chaine :
<script type="text/javascript">
var maVariable = 'un texte avec \n un retour à la ligne';
</script>
En fait, javascript interprète les retours à la ligne dans le code, comme des fins d'instructions (le point-virgule en fin de ligne est en effet facultatif, mais perso, je trouve quand même ça plus clair :))
Du coup, quand avec php tu génère le code javascript suivant :
[php]<script type="text/javascript">
var maVariable = 'un texte avec
un retour à la ligne';
</script>[/php]Javascript génère une erreur, puisque pour lui, il s'agit de deux instructions, la première s'arrêtant avant d'avoir refermé la chaine.
La solution d'[b]enneite[/b] te permet de transformer les retours à la ligne présents dans ta chaine initiale, afin que php ne les interprète pas (\\n) et donc ne génère pas de renvoi à la ligne dans le code js. En revanche, il va ainsi pouvoir écrire des "\n" dans la chaine javascript, qui ne seront pas considérés comme une fin d'instruction, mais bien un retour à la ligne dans la chaine :
[php]<script type="text/javascript">
var maVariable = 'un texte avec \n un retour à la ligne';
</script>[/php]