Zeilenumbruch mit nl2br

Headymaster

Erfahrenes Mitglied
Hallo!

Ich habe bei meiner BB-Code-Klasse zum Beispiel die Option nl2br verwendet.

Wenn ich jez in meiner Forum-Klasse z.b. einen neuen Post schreibe und diesen mit nl2br umwandeln will...passiert rein gar nichts.....es wird zwar nl2br durchlaufen aber ohne Effekt...

Also hier mal die Funktion der BBcode-Klasse

PHP:
<?php
function umbruch($text)
		  {
		     return nl2br($text);
		  }
?>

So und hier der Teil der Forum-Klasse für den Post-eintrag:

PHP:
<?php
function writeanswer($fid, $tid, $topic, $user, $text)
			 {
			     // Text bearbeiten ---> BBCODE
					  $gettext = mysql_real_escape_string($text);
					  $this->text = $this->bb->umbruch($gettext);
					  
			     // Schreiben des Beitrags
			     if ($query = $this->db->query("INSERT INTO `forum_post` SET text='".$this->text."', topic='".mysql_real_escape_string($topic)."', user='".mysql_real_escape_string($user)."', fid='".mysql_real_escape_string($fid)."', tid='".mysql_real_escape_string($tid)."'"))
				 {
				    // Weiterleitung zum Beitrag bei Erfolg
				    header("Location: index.php?s=forum.php&fid=".$fid."&tid=".$tid."");
				 }
				 else
				 {
				    // Fehlerausgabe bei Misserfolg
				    echo "MöpMöp Fehler";
				 }
			 }
?>

Woran kann das liegen?! :confused:

Würd mich über Hilfe freuen...

MFG Niels
 
Die mysql_real_escape_string()-Funktion maskiert die Zeilenumbruchzeichen. Somit sind sie für die nl2br()-Funktion als solche nicht mehr zu erkennen.
 
Das wär eine Möglichkeit. Ich würde die Daten allerdings erst zur Ausgabe formatieren und bis dahin in ihrer Rohform in der Datenbank speichern.
 
ah ok also würde ich wenn ich den Text auslese das ganze dann durch die BBcode-Klasse jagen und dann in die Felder füllen?!

Hmm ok warum genau macht man das denn? :)

MFG Niels
 
Die Formatierung erst bei der Ausgabe durchzuführen, ist zwar auf dem ersten Blick ineffizient, hat jedoch den Vorteil, dass Formatierungsänderungen leicht gemacht werden können und die Daten selbst davon nicht verändert werden.
 
Zurück