10
votes

Comment gérer les nouvelles lignes en JavaScript? (de PHP)

J'ai un code comme celui-ci: xxx pré>

où $ txt est une variable PHP pouvant contenir de nouvelles lignes telles que ceci: p>

var out="line1
 line2 hello world";


0 commentaires

6 Réponses :


4
votes

Vous pouvez ajouter un \ à la fin d'une ligne pour créer une chaîne multi-lignes xxx


2 commentaires

Quelque chose comme ça? $ txt = str_replace (tableau ("\ n", "\ r"), tableau ("\ n", "\ r \\"), $ txt);


Notez l'utilisation de citations doubles (") non simples (');)



0
votes

Vous pouvez utiliser str_replace code> pour convertir les pauses de ligne dans un autre caractère (dans ce cas, peut-être un espace, mais cela dépend de la manière dont vous souhaitez que la sortie apparaisse)

$out = str_replace("\n", '\n', $in);


1 commentaires

N'oubliez pas ces retours de chariots Pesky. J'ai failli.



37
votes
$txt = json_encode($txt);
echo "<script>var out={$txt};</script>";

7 commentaires

Textarea n'utilise pas \ N cependant, il apparaît comme "\ n" dans le Texarea actuel.


Est-ce que vous triple échapper \ n ? En JavaScript "\ n" sera une nouvelle ligne, mais si vous le transmettez "\\ n" vous obtiendrez \ n comme sortie . Vérifiez la source de votre page et voyez ce que le code JavaScript sort comme.


Votre question était de savoir comment le gérer pour JavaScript. Ne courez pas str_replace dessus si vous le mettez dans un Texarea.


Textarea Newline est un autre problème, je ne peux pas le faire en place pour Texarea sans hacks majeurs


@Dirt, que voulez-vous dire par là? Voulez-vous dire que vous voulez que l'attribut d'espace réservé d'un Textarea s'étend sur plusieurs lignes?


Il suffit de laisser à tout le monde comme @zeno savoir que l'attribut Texarea Placeholder n'appuie pas du tout de nouvelles lignes, vous pouvez le faire avec de la valeur.


Si facile si vous le savez :)



0
votes

J'ai essayé cela et ça a bien fonctionné. XXX

J'utilise PHP 5.3


0 commentaires

0
votes
var a = "Hello \
World"

0 commentaires

0
votes

La plupart d'entre eux ne fonctionnent pas pour moi. Normalement, j'utiliserais json_encode comme xxx

mais pour une solution rapide, vous pouvez simplement casser une ligne comme celle-ci: Faites attention aux citations doubles. xxx

. . .


0 commentaires