Hola,
Quizas es mas sencillo usar
explode(). Podrias hacer:
Código PHP:
$cadena="[*]item 1[*]item 2[*]item 3";
$lista=explode('[*]',$cadena);
$lista_html='';
foreach($lista as $elemento)
{
$lista_html.="<li>$elemento</li>\n";
}
Por supuesto, debes tener cuidado de que en lista no se cree elementos vacios (en este caso creo que $lista[0] es una cadena vacia porque $cadena empieza por el separador).
Suerte.