Wie behandelt man Zeilenumbrüche in Javascript? (von PHP)

7

Ich habe Code wie folgt:

%Vor%

Dabei ist $ txt eine PHP-Variable, die Zeilenumbrüche wie folgt enthalten kann:

%Vor%

Was würde so enden:

%Vor%

Was natürlich einen Javascript Fehler verursacht.

Was ist der beste Weg, damit umzugehen? Die out-Variable wird in einem HTML-Textfeld verwendet, daher glaube ich nicht, dass sie in <br>

geparst werden kann     
Zeno 24.11.2010, 19:19
quelle

6 Antworten

27
%Vor%

sollte Zeilenumbrüche ersetzen. Mach es nicht so .

Dies ist eine naive Implementierung von String-Escaping für JavaScript . Da Sie tatsächlich versuchen, eine Zeichenfolge für die Verwendung in JavaScript zu formatieren, wäre eine viel bessere Lösung die Verwendung von json_encode :

%Vor%

json_encode wird Sonderzeichen in Zeichenfolgen wie Anführungszeichen, Tabulatoren, Formularvorschüben und anderen speziellen Unicode-Zeichen korrekt entkoppelt. Es führt auch alle korrekten Schritte zum Konvertieren von Objekten, Arrays, Zahlen und Booleschen Werten aus.

    
zzzzBov 24.11.2010, 19:25
quelle
3

Sie können ein \ am Ende einer Zeile hinzufügen, um eine mehrzeilige Zeichenfolge zu erstellen

%Vor%     
Daniel 24.11.2010 19:24
quelle
0

Sie können str_replace verwenden, um Zeilenumbrüche in ein anderes Zeichen zu konvertieren (in diesem Fall vielleicht ein Leerzeichen, aber es hängt davon ab, wie die Ausgabe angezeigt werden soll)

%Vor%     
Dave Kiss 24.11.2010 19:24
quelle
0
%Vor%

Ergebnis:

%Vor%     
oyatek 30.01.2016 11:17
quelle
0

Die meisten funktionieren nicht für mich. Normalerweise würde ich json_encode wie

verwenden %Vor%

Aber für eine schnelle Lösung können Sie eine Zeile wie folgt brechen: Beachten Sie die Anführungszeichen.

%Vor%

. . .

    
MAtkins 13.04.2016 21:56
quelle
0

Ich habe es versucht und es hat gut funktioniert.

%Vor%

Ich benutze PHP 5.3

    
Dinesh Patra 27.07.2014 19:35
quelle

Tags und Links