|
||||||||||
|
JS JavaScript & JScript
|
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.
Diese nützliche Funktion ist in JavaScript und JScript nicht enthalten, doch lässt sie sich recht einfach nachbilden.
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.
Nachfolgend finden Sie für beide Ansätze ein Script mit der entsprechenden Lösung.
Syntax:
string nl2br_10 ( string str )
Quelltext:
Erläuterungen:
| 2: | Stelle sicher, dass die Variable s vorhanden und vom Typ String ist. |
| 3: | Definiere die Variablen r (= Rückgabestring ) und c (= zuletzt verarbeitetes Zeichen ). |
| 4: | Durchlaufe Schleife, solange die Länge des String s nicht 0 ist. |
| 5: | Prüfe, ob das erste Zeichen in s ein NewLine ist. Wenn ja und falls c kein CarrigeReturn war, schreibe den HTML-Befehl <br /> in den Rückgabestring r. |
| 6: | Ansonsten prüfe, ob das erste Zeichen in s ein CarrigeReturn ist. Wenn ja und falls c kein NewLine war, schreibe den HTML-Befehl <br /> in den Rückgabestring r. |
| 7: | Ansonsten schreibe das aktuelle Zeichen in den Ausgabestring. |
| 8: | Merke das aktuelle Zeichen als zuletzt verarbeitetes Zeichen in Variable c. |
| 9: | Entferne das aktuelle Zeichen aus dem ursprünglichen String s. |
| 10: | Schleifenende. |
| 11: | Gibt den String r zurück. |
Gestestet mit:
Anmerkungen:
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 Programmzeile 6 zu kürzen auf:else if(s.substr(0,1)=="\r") r+="<BR>";
Anstelle des klassischen <BR> kann natürlich auch das XHTML 1.0 konforme HTML-Tag <br /> verwendet werden.
Syntax:
string nl2br_12 ( string str )
Quelltext:
Erläuterungen:
| 2: | prüft, ob die Variable str vom Typ String ist, ersetzt Zeilenumbrüche mit Hilfe eines regulären Ausdruck durch den HTML-Befehl <BR> und gibt den bereinigten String zurück |
| 3: | ansonsten wird der Inhalt der Variable str unverändert zurückgegeben |
Gestestet mit:
Anmerkungen:
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 beschneiden:/(\r\n)|\r|\n/g
Anstelle des klassischen <BR> kann natürlich auch das XHTML 1.0 konforme HTML-Tag <br /> verwendet werden.
Zu diesem Script liegen leider noch keine Bewertungen vor. Vielleicht möchten ja Sie der Erste sein, der eine Bewertung oder einen Kommentar hierzu abgibt. Also, worauf warten Sie noch?
► Bewertung für dieses Script schreiben.
Haben Ihnen diese Informationen weitergeholfen oder haben Sie an dieser Stelle etwas anderes erwartet?
Mit Ihrem Feedback können Sie helfen, die Qualität der infocamp.de Inhalte zu verbessern.
| Die infocamp.de Bereiche |
Spiele ( Computerspiele ) |
| Alle JavaScripte nach... |
Alphabet Kategorie Typ |
| Anzeigen |
| Ähnliche Scripte |
| Weitere JavaScript |
htmlentities() Funktion |
| Angebote bei eBay |