16 Stimmen

Zeilenumbruch in einer Zeichenkette mit JavaScript lesen

Mögliches Duplikat:
Ersetzen aller Zeilenumbrüche in einer Zeichenkette durch <br />-Tag in Javascript

Wie kann ich mit JavaScript den Zeilenumbruch aus einem Wert auslesen und durch ein <br /> Tag?

Ejemplo:

var a = "This is man.
     Man like dog."

Ich möchte, dass mein Ergebnis etwa so aussieht

var a = "This is man.<br />Man like dog.";

24voto

Ali Punkte 248006
var newString=oldString.replace(/\n/g,"<br />");

10voto

KooiInc Punkte 111454

Um vollständig zu sein: Ich habe Fälle erlebt, in denen ' \n ' nicht funktioniert hat, habe ich in diesen Fällen verwendet:

someString.replace(/\n/g,'<br />')
          .replace(/\r/g,'<br />')
          .replace(/\r\n/g,'<br />');

6voto

nickf Punkte 517253

+1 für die Antwort von Click Upvote. Ich würde nur darauf hinweisen, dass mit diesem Stil der Definition von Zeichenfolgen, haben Sie einen Haufen von zusätzlichen Leerzeichen in dort. Durch einfaches Ersetzen des Zeilenumbruchs erhalten Sie tatsächlich diese Zeichenfolge:

"This is man.<br />     Man like dog."

Die grundlegende Lösung besteht darin, die Ersetzungsfunktion zu ändern:

newString = oldString.replace(/\n\s*/g, "<br />");

Oder noch besser (IMHO), definieren Sie Ihre Strings wie folgt:

var a = "This is man.\n"
      + "Man like dog."
;

Das bedeutet, dass Sie immer noch eine schöne Einrückung erhalten können, ohne dass der zusätzliche Overhead zu Ihren Variablen hinzugefügt wird, und dass Sie problemlos Kommentare hinzufügen können:

var a = "This is man.\n" // this is the first line.
      + "Man like dog."  // and woo a comment here too
;

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