MySQL + PHP Zeilenumbruch Ausgabe?

Ich bin gerade dabei ein Gästebuch in PHP zu schreiben... nun hab ich dass Problem, dass Zeilenumbrüche zwar in der Datenbank gespeichert sind, jedoch bei der Ausgaben nicht berücksichtigt werden (fehlendes <br>)... habt ihr ne idee wie man Sachen, die mit einem Zeilenumbruch in die DB geschrieben worden sind wieder mit Zeilenumbrüchen ausgibt?? (also eventuell automatisch ein <br> einfügen oder so)...


Gruss MastaDaDesasta

P.S: meine Abfrage sieht im moment so aus:
Code:
<?
include 'connect.php';
$result = mysql_query('SELECT * FROM news ORDER BY ID ASC');
echo "<DIV class='tabelle'>";
while($row = mysql_fetch_array($result)) 
{
echo "<table bgcolor=#AFAFAF cellspacing=1 border=0 Align='center' Width='90%' class='tabelle1'>\n";
echo "<tr>\n<td BGColor='#002B75'>\n".$i."Topic: ".$row['topic']."\n</td>\n</tr>\n";
echo "<tr>\n<td BGColor='#003894'>\n ".$row['beitrag']."\n</td>\n</tr>\n";
echo "</table>\n";
}
echo "</DIV>";
?>
 
Mit nl2br oder str_replace:
PHP:
$row["beitrag"] = nl2br($row["beitrag"]);

#oder

$row["beitrag"] = str_replace("\n", "<br>", $row["beitrag"]);
Erklärung: nl2br wandelt Text-Zeilenumbrüchen in HTML-Zeilenumbrüche (<br>) um und str_replace ersetzt eine Zeichenkette mit der anderen, in diesem Fall das Escapezeichen für einen Zeilenumbruch (\n) in einen HTML-Konformen Zeilenumbruch (<br>).
 
muss ich dann für jeden einzelnen $row befehl das hinschreiben... also:

$row["beitrag"] = nl2br($row["beitrag"]);
$row["name"] = nl2br($row["name"]);
$row["mail"] = nl2br($row["mail"]);
usw...
oder wie mach ich das am geschicktesten? sollte man des bei der eingabe machen (beim schreiben in die DB) oder erst beim auslesen? wie sähe dass dann an dem code beispiel aus???


Gruss MastaDaDesasta
 
eigentlich brauchst du das nl2br() nur beim beitragstext, da in name um email wohl eher keine zeilenumbrüche vorkommen.
 
Zurück