~tine~ Geschrieben 18. Dezember 2004 Teilen Geschrieben 18. Dezember 2004 hallo ... ich hab eine Frage zur Darstellung von Zeilenumbrüchen. Hab gerad fleißig im Forum gesucht, und auch einiges an Lösungen gefunden, aber irgendwie funktioniert das ganze bei mir nicht. ich speichere Text aus einer textarea folgendermaßen in einer Datenbank: nl2br(stripslashes(strip_tags($nachricht))); Beim Auslesen der Nachricht aus der Datenbank werden dann nur die manuell eingegebenen Zeilenumbrüche angezeigt, die automatischen werden ignoriert, so dass ich den ganzen Text in einer Zeile habe. ich habe es bei der Textausgabe schon mit folgendem versucht: $nachricht = str_replace("\n","<br>",$nachricht); es klappt allerdings trotzdem nicht. :confused: (auch \r\n statt \n geht nicht). kann mir jemand nen Tipp geben, woran das liegen könnte? Danke. ~tine~ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 18. Dezember 2004 Teilen Geschrieben 18. Dezember 2004 Du mußt den Text doch gar nicht mit nl2br in die DB speichern. Du kannst den doch so reinschieben. Du mußt dann nur beim Anzeigen nl2br benutzen. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
~tine~ Geschrieben 18. Dezember 2004 Autor Teilen Geschrieben 18. Dezember 2004 Danke für den Tipp. Aber so funktioniert es auch nicht. ich habe den Text ohne nl2br abgespeichert und dafür mit nl2br($nachricht) ausgegeben, aber die automatischen Zeilenumbrüche werden trotzdem ignoriert. Kann es vielleicht auch an etwas anderem liegen? ~tine~ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevilDawn Geschrieben 18. Dezember 2004 Teilen Geschrieben 18. Dezember 2004 Beim Auslesen der Nachricht aus der Datenbank werden dann nur die manuell eingegebenen Zeilenumbrüche angezeigt, die automatischen werden ignoriert, so dass ich den ganzen Text in einer Zeile habe. Ich müsste schon sehr falsch liegen, aber es gibt keine automatischen Umbrüche bei Texteingaben in einem TEXTAREA Feld. Zwar wird der Text beim Eingeben automatisch Umgebrochen, diese Umbrüche werden aber erst gar nicht zum Server gePOSTed. Wo nichts ist kannst du auch nichts zu <BR> wandeln. Du solltest deinen Text selber parsen, z.b. in Worte SPLITten und nach gewissen Längen selber Umbrüche einfügen. Auf jeden Fall prüfe mal ob der zum Server gepostete Text überhaupt die Umbrüche enthält. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FMG Geschrieben 18. Dezember 2004 Teilen Geschrieben 18. Dezember 2004 Doch, MySQL bzw. PHP wandelt Zeilenumbrüche sehr wohl in <br /> um! Dass es bei dir nicht funktioniert liegt daran, dass du als Feldtyp vermutlich varchar verwendest!? Ändere ihn mal in longtext - dann brauchst du nl2br weder beim Eintragen noch beim Auslesen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FinalFantasy Geschrieben 20. Dezember 2004 Teilen Geschrieben 20. Dezember 2004 PHP und MySQL wandeln zwar Zeilenumbrüche um (falls welche vorhanden sind), aber in der Textarea gibt es keine Zeilenumbrüche, die umgewandelt werden könnten. Afaik kann man nämlich die automatischen Zeilenumbrüche via HTML-Optionen auch ausschalten. Man braucht sich nur mal den String aus der Textarea in einem Debugger anschaun, dann sieht man, dass da kein <br> oder \n oder sonstwas drin ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 20. Dezember 2004 Teilen Geschrieben 20. Dezember 2004 Also so wie ich Ihn verstanden habe will er automatische Zeilenumbrüche aus einer Textarea in <br /> wandeln. DevilDawn hat da schon recht. Die automatischen Zeilenumbrüche einer TextArea sind keine Zeilenumbrüche IMHO. Ich denke, dass seine Lösung mit Wortsplittung und Längenauslesen die einzige Möglichkeit ist. ODER es gibt doch so verschiedene Typen, auf die man eine Textarea setzen kann, vielleicht setzt da ein Typus tatsächlich ein "\r\n" bei einem automatischen Zeilenumbruch. gruss markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FMG Geschrieben 20. Dezember 2004 Teilen Geschrieben 20. Dezember 2004 ODER es gibt doch so verschiedene Typen, auf die man eine Textarea setzen kann, vielleicht setzt da ein Typus tatsächlich ein "\r\n" bei einem automatischen Zeilenumbruch. Richtig, probierts mal bitte mit einem textarea in Verbindung mit einem Feld vom Typ longtext aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 20. Dezember 2004 Teilen Geschrieben 20. Dezember 2004 ich mag mich irren, aber ich glaube mich zu erinnern, dass es für die <textarea> etwas gab wie: wrap=hard/soft ich habs gefunden, schau mal hier: selfhtml ist zwar kein php, du solltest aber so einstellen können wie der text gesendet wird. ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FMG Geschrieben 21. Dezember 2004 Teilen Geschrieben 21. Dezember 2004 Sagt mal, entschuldigt bitte, aber rede ich spanisch!? Wie wärs, wenn mal jemand ausprobieren würde, was ich oben geschrieben habe, anstatt mir hier weismachen zu wollen, dass das angeblich nicht geht... Richtig, probierts mal bitte mit einem textarea in Verbindung mit einem Feld vom Typ longtext aus.... oder wieso geht das komischerweise bei mir so!? @wrap Ist schon klar, geht auch via CSS mit white-space. Das betrifft aber nur die Anzeige im Formular und nicht die Verarbeitung! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 21. Dezember 2004 Teilen Geschrieben 21. Dezember 2004 Vielleicht weils mit dem Datentyp wirklich gar nix zu tun hat. Für Textarea - Mysql - Textarea braucht man nix machen, manuell eingegebene Umbrüche werden wieder dargestellt, egal welcher Text Feldtyp in der DB verwendet wird. Textarea - mysql - "normaler html Text" Hier muss man nach dem Auslesen aus der Datenbank den Text mit nl2br umwandeln, damit die html <br /> hinzugefügt werden. Automatische Zeilenumbrüche der Textarea browserübergreifend zu erfassen, halte ich für problematisch und ich wüßte auch nicht wofür. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.