Damit es funktioniert musst Du:
- Einen Text mit Zeilenumbrüchen definieren
- Die Funktion nicht nur definieren sondern auch aufrufen
- Den geänderten Text auch ausgeben:
Code
- <style>
- .textcontainer {
- border: 2px solid lightblue;
- }
- </style>
- <div class="textcontainer" id="textcontainer1"></div>
- <div class="textcontainer" id="textcontainer2"></div>
- <script>
- // Text definieren
- var thetext = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr,\n\
- sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,\n\
- sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\n\
- Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n\
- Lorem ipsum dolor sit amet, consetetur sadipscing elitr,\n\
- sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,\n\
- sed diam voluptua.';
- // Funktion definieren
- function nl2br(str, is_xhtml) {
- if (typeof str === 'undefined' || str === null) {
- return '';
- }
- var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
- return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
- }
- // Funktion aufrufen, um den Text umzuwandeln
- var newtext = nl2br(thetext);
- // Originalen und umgewandelten Text ausgeben
- document.getElementById("textcontainer1").innerHTML = thetext;
- document.getElementById("textcontainer2").innerHTML = newtext;
- </script>
Rufst Du dann die Seite auf, erkennst Du, dass der originale Text ohne Zeilenumbrüche dargestellt wird, aber der umgewandelte mit.