Masta_Chilla 0 Melden Geschrieben 26. November 2004 (bearbeitet) Kann mir vielleicht jemand bei folgendem Problem helfen: Ich habe eine Webseite auf der man mittels JavaApplet einen Text für die News zum Beispiel erstellen und bearbeiten kann. Wenn man nun einen Text schreibt werden alle Zeilenumbrüche in der JAVA Textbox mit einem "Newline Symbol" festgehalten. man kann diese mit der funktion $string = nl2br($string); in HTML Zeilenumbrüche umwandeln. -> der text wird dann aus der datenbnak gelesen und ganz normal in HTML angezeigt. Wenn man nun aber den Text wieder hernimmt, dann dachte ich mir ich ersetze die HTML Zeilenumbrüche wieder mit einem "\n" oder "\r\n". -> funktioniert aber nicht.... Ich habe auch schon versucht eine umkehrfunktion zu finden $string = br2nl($string) . es existiert aber keine. Bearbeitet 26. November 2004 von Masta_Chilla
Monoman 0 Melden Geschrieben 28. November 2004 Hoi. Normalerweise ist es üblich die Zeilenumbrüche oder z.B. BB-Code erst beim Output zu parsen, d. h. du speicherst den Text so wie er ist direkt in die Datenbank und ersetzt erst beim Output die Zeilenumbrüche oder halt den BB-Code. Das ist zwar Performance-Lastiger, aber wenn du noch zusätzlich eine Template-Engine mit Caching schreibst, dann lohnt sich das und ist auch später beim Administrieren komfortabler. Achja, PHP bietet keine Funktion die dir wieder <br> (bzw. seit PHP 4.0.5 XHTML konform: <br />) zu \n bzw. \n\r ersetzt. Da musst du dir selbst was schreiben; Bsp. hier als "Single-Line"-Funktion: <?php function br2nl($sSubject, $sNLine = "\n") { return preg_replace("/(?:<br>|<br\/>|<br\s\/>)/i", $sNLine, $sSubject); } ?> Hab's getestet auf PHP 5.0.2, wahrscheinlich musst du für PHP 4 die Sache mit dem return ein bisschen verändern. Du kannst natürlich auch eine andere Funktion wie z.B. str_replace (besser PHP 5: str_ireplace) benutzen, aber kA was davon performanter ist; müsste man messen . MfG Monoman