Murphy's World @ home

server holyghost alias dyndns.murphys-world.de

START
Projekt Murphy's CMSmini JavaScript TIPPS & TRICKS GeoCaching
NEWS TERMINE FUNSTUFF LINKS
VIP-BEREICH KONTAKT IMPRESSUM

JavaScript Tipps & Tricks
String-Funktion nl2br()

Beschreibung:

In der Scriptsprache PHP gibt es die Funktion nl2br(), um Zeilenumbrüche in einer Zeichenkette in den HTML-Befehl <BR> umzuwandeln. Bei dieser Stringoperation werden sowohl DOS und Windows als auch Mac und Un*x Zeilenumbrüche ersetzt, die abhängig vom Betriebssystem unterschiedlich codiert sind.

Prinzipiell sind hierzu zwei verschiedene Lösungsansätze denkbar. Je nach Sprachversion von JavaScript bzw. JScript wählt man die elegante Methode über reguläre Ausdrücke, die mindestens Javascript 1.2 bzw. eine äquivalente JScript Version voraussetzt, oder die universelle Lösung über Zeichenkettenvergleiche, welche mit allen JavaScript und JScript Versionen funktionieren sollte, dafür aber etwas langsamer ist.

Die Funktion erwartet den umzuwandelnden Text als einzigen Parameter. Der in PHP vorhandene, optionale Parameter zum Setzen des XHTML-konformen Zeilenumbruch <br /> anstelle des klassischen <BR> ist in den nachfolgenden Quelltexten nicht implementiert. Um ihn zu verwenden, kann das entsprechende Muster im Quelltext der Funktion angepasst werden.

 

Syntax:

string nl2br ( string str )

 

Übergabewerte:

str = der umzuwandelnde Text

 

Quelltext:

ab JavaScript 1.0

function nl2br(str) {
  str+="";
  r=""; c="";
  while(str.length) {
    if(str.substr(0,1)=="\n") {if(c!="\r") r+="<BR>";}
    else if(str.substr(0,1)=="\r") {if(c!="\n") r+="<BR>";}
    else r+=str.substr(0,1);
    c=str.substr(0,1);
    str=str.substr(1,str.length-1);
  }
  return r;
}

Diese Funktion ersetzt neben den Zeilenumbrüchen \r\n (= DOS / Windows ), \r (= Mac ) und \n (= Linux / Un*x / Amiga ) auch den verdrehten DOS Zeilenumbruch \n\r. Sollen nur korrekte Zeilenumbrüche ersetzt werden, ist die sechste Zeile zu kürzen auf else if(s.substr(0,1)=="\r") r+="<BR>";

ab JavaScript 1.2

function nl2br(str) {
  if(typeof(str)=="string") return str.replace(/(\r\n)|(\n\r)|\r|\n/g,"<BR>");
  else return str;
}

Diese Funktion ersetzt neben den Zeilenumbrüchen \r\n (= DOS / Windows ), \r (= Mac ) und \n (= Linux / Un*x / Amiga ) auch den verdrehten DOS Zeilenumbruch \n\r. Sollen nur korrekte Zeilenumbrüche ersetzt werden, ist das Suchmuster des regulären Ausdrucks zu kürzen auf /(\r\n)|\r|\n/g

 

Beispiel:

Eingabe

<script type="text/javascript">
text="Hallo\nWelt";
alert ( text + "\n-----------------\n" + nl2br ( text ) );
</script>

Ausgabe

Hallo
Welt
-----------------
Hallo<BR>Welt

 

Lizenzbestimmungen:

Das auf dieser Seite notierte Script nl2br() ist Public Domain.

 

Zurück zur JavaScript Funktionsübersicht

 

© 2026 Murphy's World     Alle Rechte vorbehalten     Impressum