Zum Inhalt springen
Masta_Chilla

PHP und Ähnliches

Empfohlene Beiträge

Geschrieben (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 von Masta_Chilla
Geschrieben

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 :D.

MfG

Monoman

Geschrieben

alles klar ich werde es mal ausprobieren.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden


  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.