neee - ich mein ja in der ausgabe nicht in der eingabe! wenn ich nu \n in br umwandel, iss doch die tabelle vollkommen verschoben!
preg_replace
Einklappen
X
-
ach ok!! jetzt versteh ich
so würd das ganze gehen. aber sicher isses nicht.Code:$text = 'asdgasdg adsgdsag [table][tr] [td]Feld 1 asdga [/td] [td]Feld 2 [/td] [/tr] [/table]'; $text = nl2br(preg_replace('/\]\s+?\[/m', '][', $text)); echo preg_replace ('/\[\s*(\S*?)\s*\]/m', "<$1>" , $text );
das 1. pattern entfernt alle zeilenumbrüche (und leerzeichen) die zwischen ] und [ stehen, und zwar nur an den stellen wo wirklich nur zweilenumbrüche und leerzeichen zwischen ] und [ vorkommen.
sobald da irgendein buchstabe mit drinsteht werden auch leerzeichen und zeilenumbrüche erhalten.
Kommentar
-
nein:
es werden wirklich nur die umbrüche gelöscht die zwischen ] und [ stehen zwischen denen keine anderen zeichen als umbrüche oder leerzeichen stehen.Code:asdgasdg adsgdsag [table][tr] // wir entfernt [td]Feld 1 asdga [/td] // wird entfernt [td]Feld 2 [/td] // wird entfernt [/tr] // wird entfernt [/table]
Kommentar
-
Script:
Eingabe:PHP-Code:$text = $_REQUEST['text'];
$text = stripslashes($text);
$text = htmlentities($text);
$text = str_replace("[script","[script",$text);
$text = str_replace("[/script","[/script",$text);
$text = preg_replace ('/\[(.*?)\]/', "<$1>" , $text );
$text = nl2br(preg_replace('/\]\s+?\[/m', '][', $text));
//echo preg_replace ('/\[\s*(\S*?)\s*\]/m', "<$1>" , $text );
$text = str_replace("[","[",$text);
$text = str_replace("]","]",$text);
Ausgabe:Code:[table] [tr] [td]Vielen Dank! Ihre Software wurde erfolgreich verifiziert. Wir wünschen Ihnen viel Spaß und [b]Erfolg mit Ihrer Software ...[/b][/td] [/tr] [/table]
Code:<table><br /> <tr><br /> <td>Vielen Dank!<br /> <br /> Ihre Software wurde erfolgreich verifiziert. <br /> <br /> Wir wünschen Ihnen viel Spaß und <b>Erfolg mit <br /> <br /> Ihrer Software ...</b></td><br /> </tr><br /> </table>
Signatur-Text ...
Kommentar
-
Wird es aber nicht - reines Suchen und Ersetzen macht noch keinen Parser aus.Original geschrieben von dani_o
jap soll ein parser werden
Fehlerhafte Verschachtelungen werden damit höchstwahrscheinlich immer noch möglich sein, also kommt invalides HTML heraus.
Ein exzellenter "richtiger" Parser, der diesen Namen auch verdient, wäre z.B. http://www.christian-seiler.de/projekte/php/bbcode/I don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar

Kommentar