7.6. Wie kann ich Zeilenumbrüche in <br> umwandeln?Antwort von Kristian KöhntoppPHP bietet die Funktion nl2br() , die vor jedem Zeilenumbruch ein <br> einfügt. Ab PHP 4.0.5 wird statt <br> das XHTML-konforme <br /> verwendet. Diese Schreibweise ist auch mit älteren Browsern kompatibel und wird auf jeden Fall empfohlen. Anzumerken ist hierbei, dass die von Mac als "Neue-Zeile-Zeichen" verwendeten Carriage-Returns (\r) nicht als solches erkannt werden und deshalb nicht in <br /> umgewandelt werden. // Einlesen der Datei "datei" in den String $str $str = implode("", @file("datei")); // Ausgeben der Datei mit Umbrüchen print nl2br($str); Sollen Zeilenumbrüche komplett ersetzt werden, benutzt man z. B. str_replace() : $string = str_replace("\n", "<br>", $string); Zum Thema "Zeilenumbruch" siehe auch: "Wie kann ich Zeilenumbrüche verarbeiten?". Antwort von Johannes FrömterSollte man in die Verlegenheit kommen, eine Umkehrfunktion zu nl2br() zu benötigen, muss man einen Regulären Ausdruck bemühen. function br2nl($str) { return preg_replace("=<br(>|([\s/][^>]*)>)\r?\n?=i", "\n", $str); } Der Ausdruck ist etwas länglich, weil er sicherstellt, dass wirklich nur <br>-Tags (die allerdings in allen Variationen!), nicht aber XML-Tags o. ä. (<brown> z.B.) umgewandelt werden - sicher ist sicher... |
||
7.6. Wie kann ich Zeilenumbrüche in <br> umwandeln? http://www.php-faq.de/q/q-string-html-umbruch.html |
||
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team |