Zeilenumbrüche in Gästebuch

MasterC

Grünschnabel
Hi,
Wie schaffe ich es, das mein User Zeilenumbrüche in seinem Eintrag machen kann, obwol html in meinem gästebuch deaktiviert ist?
 
lässt ihn z.b. ein br oder sonstwas in [] eingeben und ersetzt das dann später. oder in einem Texteingabefeld, lässt mit mit nl2br eifnach jedes newline (\n) in ein <br /> ersetzen
 
Ja, das habe ich mir auch gedacht. Allerdings ist das Problem, dass mein Gästebuch txt- gestützt ist.

Wenn ich nun die Eingabe vor dem schreiben in die txt formatiere, so dass alle "/n"'s in <br /> formatiert werden, dann schreibt es alles was nach <br/> steht in eine neue Zeile.
Das hat wiederum zur Folge, dass die Ausgabe des Gästebuches zerschossen wird.

Allerdings hab ich es auch schon probiert, ohne nl2br. Aber dies zerschießt mir ebenfalls die Ausgabe.

Was kann ich daran ändern?
 
Zuletzt bearbeitet:
Du hast nur nen kleinen Tippfehler drin. Das Problem bei dir ist die HTML Syntax.

Nimm diesen Source und dann geht es.


PHP:
// $text ist glaub ich selbsterklärend.
$text = ereg_replace( "\n", "<br>", $text);
 
Zuletzt bearbeitet:
Das funtioniert auch nicht. da zerschießt es mir auch die Ausgabe.

Da iin dem String dann das <br> steht, wird alles nach dem <br> wieder in eine neue Zeile geschrieben. Naja, dadurch wird mir die Ausgabe zerschossen.

Aber ich versuch es mal auf dem folgendem Weg:
PHP:
<?php
$nachricht=ereg_replace("\n", "[br]", $nachricht);
$nachricht=add_slashes($nachricht);
// geschieht vor dem schreiben in die Datei

$nachricht=strip_slashes($nachricht);
$nachricht=ereg_replace("[br]", "<br>", $nachricht);
//die Ausgabe
?>
 
Zuletzt bearbeitet:
PHP:
<?php 
$nachricht=ereg_replace("\n", "[br]", $nachricht); 
$nachricht=add_slashes($nachricht); 
// geschieht vor dem schreiben in die Datei 

$nachricht=strip_slashes($nachricht); 
$nachricht=str_replace("[br]", "<br>", $nachricht); 
//die Ausgabe 
?>

Mit diesem Script klappt es.
 
Achso jetzt verstehe ich dich. Die Art wie ich es beschrieben habe, benutze ich selber und ich wandel beim schreiben den Text nicht erst um, sondern schreibe ihn wie er ist. Also ist ein \n auch ein Zeilenumbruch und wenn ich dann den Content auslese habe ich immernoch ein \n als Zeilenumbruch, so das ich den dann ganz normal in ein <br> umwandeln kann.

In meinem Formular setzte ich das Textfeld auf wrap="PHYSICAL", damit auch die \n geschrieben werden.
 
Also, ich habe das mal mit wrap="PHYSIKAL" probiert.
MIt meine Methode hat es geklappt, mit wrap=..:" nicht.

Allerdings ist mein Hauptproblem immer nochnicht gelöst:

Die Ausgabe erfolgt nun zwar wie erwünscht, allerdings schreibt es immer noch, trotz der Ersetzung der Zeilenumbrüche, alles nacheinem Umbruch in eine neue Zeile.

Wiekann ich das verhindern?
 
Das ist wie im richtigen Leben, es gibt immer mehrere Wege wie man ein Problem lösen kann.

Es heißt "physical", nicht "physikal"... also mit c anstatt k.

Aber wenn ich dich richtig verstanden habe, wandelst du die \n schon vor dem Speichern in <br> um, oder?

Bei meiner Methode speicher ich die direkt ohne etwas zu verändern und erst beim lesen benutzte ich den ereg_replace.

Du kannst dir das Ergebnis gern auf DeeFour.de im Gästebuch ansehen.

Was genau meinst du, daß er dir den gesamten Text in eine neue Zeile schreibt?

Das ist bei Zeilenumbrüchen doch so üblich, oder?
 
Zuletzt bearbeitet:
Zurück