$news = preg_replace( "/\[li\](.*?)\[\/li\]/s", "<li>$1</li>", $news);
$news = preg_replace( "/\[li\](.*?)\[\/li\]/isU", "<li>$1</li>", $news);
[li]erster listeneintrag[/li]
[li]zweiter listeneintrag[/li]
<li>erster listeneintrag[/li]
[li]zweiter listeneintrag</li>
ich habs jetzt durchgängig für den kompletten code so:Original geschrieben von BiBaButzemann
machs doch einfach mit str_replace() ...

Ja, könnte so sein. Ist aber immer das Problem bei Regexp, weil sie den Status des aktuellen Strings nicht speichern (schon geöffnet, noch nicht geöffnet).Original geschrieben von The_Company
Was macht die Regexp aus "[li] 1 [li] 2 [/li] 3 [/li]" ?
Vermutlich "<li> 1 [li] 2 </li> 3 [/li]", oder?