Salut
Dann bleibt Dir imho nur das zeilenweise Parsen nach '-' am Zeilenbegin. Beim ersten Auftreten setzt Du einen Flag, der sowohl das einleitende <ul>, als auch des abschliessenden </ul> steuert (Letzteres dann beim ersten _Nichtauftreten_ von '-').
Das mit dem Flag ist hochinteressant. Allerdings habe ich noch nicht herausgefunden, wie man einen Flag setzt.
$text = preg_replace("#^[:blank:]*-(.+?)^#is", "<li>$1</li>", $text);
^ = Beginn einer neuen Zeile
[:blank:] = Leerzeichen oder Tabulator
* = Darf keinmal oder x-mal vorkommen
- = gefolgt von einem -
(.+?)^ = Alles danach nehmen, bis vor eine neue Zeile
Das sind meine Überlegungen, aber es funktioniert noch nicht:
Warning: preg_replace() [function.preg-replace]: Compilation failed: POSIX named classes are supported only within a class at offset 2
Was mache ich falsch?
Gruss
Schorsch