PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP: nl2br() und Tabellen-Tags


Marscel
2005-06-28, 21:25:45
Für eine Bekannte habe ich eine Website erschaffen, dessen Inhalte, die in einer Datenbank gespeichert sind, doe sie per Formular simpel bearbeiten kann. Um möglichst viel Freiraum zu haben, kann man HTML-Tags benutzen, darunter natürlich auch <table></table>.

PHP liest den Text aus der Datenbank aus und gibt ihn mit nl2br($text) aus.
Problematisch ist nun folgendes, ich gebe z.B. das ins Formular ein:
<table border="1">
<tr><td>Test</td></tr>
<tr><td>Test</td></tr>
<tr><td>Test</td></tr>
<tr><td>Test</td></tr>
</table>

und was ausgegeben wird, ist natürlich das da:
<table border="1"><br />
<tr><td>Test</td></tr><br />
<tr><td>Test</td></tr><br />
<tr><td>Test</td></tr><br />
<tr><td>Test</td></tr><br />
</table>

Das heißt, die gesamte Tabelle wird wegen der <br />-Tags nach unten geschoben. Ich suche nun eine Möglichkeit, das irgendwie zu verhindern.

Eine Idee wäre, wenn man mit preg_replace den Text nach Zeilenumbrüchen zwischen </tr> und <tr> Tags absuchen und diese mit "" entfernen würde, nur leider fällt mir da nicht der passende Ausdruck (zmd. einer, der funktioniert) ein.

Für Ratschläge wäre ich sehr dankbar.

Marscel

Marscel
2005-06-30, 20:10:15
Hat sich erledigt...

$var = preg_replace("/\"><br \/>/","\">",$var);
$var = preg_replace("/tr><br \/>/","tr>",$var);

Das sind zwar keine eleganten Lösungen, erfüllen aber ihren Dienst.