717 Stimmen

Wie kann ich alle Zeilenumbrüche in einer Zeichenkette durch <br />-Elemente ersetzen?

Wie kann ich den Zeilenumbruch aus einem Wert mit JavaScript auslesen und alle Zeilenumbrüche durch <br /> Elemente?

Ejemplo:

Eine Variable, die von PHP wie folgt übergeben wird:

  "This is man.

     Man like dog.
     Man like to drink.

     Man is the king."

Ich möchte, dass mein Ergebnis nach der Konvertierung durch JavaScript etwa so aussieht:

  "This is man<br /><br />Man like dog.<br />Man like to drink.<br /><br />Man is the king."

1516voto

eyelidlessness Punkte 60421

Dadurch werden alle Rückgaben in HTML umgewandelt

str = str.replace(/(?:\r\n|\r|\n)/g, '<br>');

Falls Sie sich fragen, was ?: bedeutet. Es ist eine nicht-einfangende Gruppe. Es bedeutet, dass die Regexgruppe innerhalb der Klammern nicht im Speicher gespeichert wird, um später referenziert zu werden. In diesen Threads finden Sie weitere Informationen:
https://stackoverflow.com/a/11530881/5042169 https://stackoverflow.com/a/36524555/5042169

572voto

bersling Punkte 14596

Wenn es Ihnen nur um die Anzeige von Zeilenumbrüchen geht, können Sie dies mit CSS erreichen.

<div style="white-space: pre-line">Some test
with linebreaks</div>

Jsfiddle: https://jsfiddle.net/5bvtL6do/2/

Hinweis : Achten Sie auf die Formatierung und Einrückung des Codes, da white-space: pre-line wird angezeigt alle Zeilenumbrüche (außer dem letzten Zeilenumbruch nach dem Text, siehe fiddle).

90voto

paulslater19 Punkte 5689

Ohne Regex:

str = str.split("\n").join("<br />");

48voto

WSkinner Punkte 2069

Dies funktioniert für Eingaben aus einem Textfeld

str.replace(new RegExp('\r?\n','g'), '<br />');

13voto

Jethro Larson Punkte 2288

Wenn die akzeptierte Antwort für Sie nicht richtig funktioniert, können Sie es versuchen.

str.replace(new RegExp('\n','g'), '<br />')

Bei mir hat es funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X