Schorsch: Reguläre Ausdrücke bullet list aufzählung bbcode

Beitrag lesen

Salut

Der Ausdruck:
$text = preg_replace(
            '=^([\t| ]{0,})(-|\d{1,}.)(.*)$=Ums',
            "<li>$2 $3</li>",
            $text
        );
bringt schön jede Aufzählung.

Aber wie bringe ich die <ul> resp. <ol> an den Beginn/Ende der Aufzählung?

Muss ich da in diese Richtung gehen?

preg_match_all(
            '=^([\t| ]{0,})(-|\d{1,}.)(.*)$=Ums',
            $text,
            $list,
            PREG_SET_ORDER
        );

$text = '<ul>';
foreach ($list as $key => $val)
{
  $text .= '<li>'.$val[2].' '.$val[1].'<li>';
}
$text = '</ul>';

Leider habe ich so aber den Text vor/nach der Aufzählung nicht mehr...

Wer kann helfen?

Gruss
Schorsch