Also ich habe den Inhalt eines <textarea>-Feldes in der Variable $test, jetzt möchte ich aber einige HTML-Tags eerlauben, z.B. i oder b, die allerdings in der Form [i]kursiv[/i] erkannt und geändert werden sollen. ich habe folgendes versucht:
$text=htmlentities($text);
$text=eregi_replace("\r\n", "<br />", $text);
$text=eregi_replace("[i](.*)[/i]", "<i>\1</i>", $text);
$text=eregi_replace("[b](.*)[/b]", "<b>\1</b>", $text);
(.*) ist natürlich ein heftiger Ausdruck und beim Test hatte ich natürlich auch keinen Erfolg; ich habe folgenden Text daturchgejagt:
[i]test[/i]
[b]test[/b]
Rausgekommen ist folgendes: <i>(son Kasten)</i><br /><b>(son Kasten)</b>
Einzeln möchte ich die Zeichen allerdings auch nicht unbedingt ersetzen, um sicherzustellen, dass die Endtags vorhanden sind.
In SelfHTML steht was bei Perl-RegExps was von (.+?), das weniger "gierig" sein soll, PHP schmeisst da aber nur eine Warnung aus, dass der Reguläre Ausdruck ungültig sei.
Wie macht man sowas denn am besten?