Umbrüche in Texten anzeigen

Status
Nicht offen für weitere Antworten.

KingChimera

Mitglied
Hallöchen,
hätte mal ne kleine Frage: ich bin momentan dabei ein Newscenter zu schreiben, nur ich habe es bisher noch nicht geschafft die Zeilenumbrüche die ich ins Textfenster schreibe auf die Ausgabedatei zu übertragen...
Womit hängt das zusammen Hier im Forum funktioniert es ja auch, ich drücke Enter, mache also einen Umbruch, aber wenn ich dann auf "Eintragen" (bei mir) klicke sind nachher alle Zeilen in einer Zeile, also nicht wie hier wo er die Umbrüche behält... Ich habe die bisherigen Arten wie "Physisch", "Real" etc. alle durchprobiert, aber irgendwie klappt das nicht... Hoffe ihr könnt mir dabei helfen...
DANKE!

Servus, greetz KingChimera
 
Hi!

Ich kenne leider die "Fachbegriffe" nicht, aber das, was Du im TEXTAREA eingibst, ist quasi ein "Plain Text", die folgenden Ausgabe "HTML".
Soll heißen: ein Zeilenumbruch im TEXTAREA wird Dir in Form von "\n" geliefert, die Du nun für die Ausgabe in "<BR>" umwandeln mußt...
 
Hmm, und wie mach ich das? :D
Ich habe den enctype="text/plain" genommen bzw. eingefügt, nur danach trägt mein Formular keine Daten mehr in die Datenbank ein... :D

Servus, greetz KingChimera
 
Nö, da brauchst eigentlich nix ändern (an der Form). Und auch in die DB kann's ja ruhig mit \n sein. Nur, bevor Du's zum Browser schickst, müsstest halt die \n in <BR> konvertieren.
Doch: womit verarbeitest Du den die Form? Php, Perl/Cgi-Script ?
 
Die ganzen Daten werden per PHP ausgelesen...
Das ganze NC basiert auf PHP mit SQL, nur dieses Prob stand mir noch im weg... :-)

Servus, greetz KingChimera
 
Es bestehen zwei Möglichkeiten:

1. Du konvertierst die Linebrakes beim speichern rein
2. Du machst das jedes mal beim Auslesen.

Ich bevorzuge die 1. Variante.
(Ist unspürbar schneller und du kannst das konvertieren dann nicht mehr vergessen)

Der Code dazu:
PHP:
$text = str_replace("\r\n", "<br>\r\n", $text);

Diese Zeile muss dann je nach dem welche Variante du nimmst im dementsprechenden Script stehen.

Beispiel für Speichern
PHP:
$text = str_replace("\r\n", "<br>\r\n", $text);
$sql = "INSERT INTO news (text) VALUES ('".$text."')";

Oder beim Auslesen aus der Datenbank:
PHP:
$text = mysql_reuslt($Ergebnis, $i, "text");
$text = str_replace("\r\n", "<br>\r\n", $text);
echo "<p><b>Newseintrag:</b><br>".$text."</p>\n";

Du siehst, dass es ganz einfach ist.

PS. Es ist nicht das \n für den Zeilenumbruch zuständig.
Es ist nur das 2. Zeichen für den Zeilenumbruch.
Es ist chr(10)+chr(13) => \r\n (Wagenrücklauf und Zeilenvorschub)
 
Status
Nicht offen für weitere Antworten.
Zurück