Sto creandomi un BBCode parser e finora funziona quasi al 100%; uno dei pochi problemi che ho riscontrato è il seguente:
Codice PHP:
'#\[list(?:="(' implode('|'$options) . ')")?\](.+?)\[\/list\]#ise' 
In realtà dovrebbe essere:
Codice PHP:
'#\[list(?:="(' implode('|'$options) . ')")?\]((?:\[\*\]+).+?)\[\/list\]#ise' 
ma così scrivendo, quando vado a fare un ciclo per il replace (sono obbligato, nel caso ci siano più liste una dentro l'altra), non me lo esegue, mentre con la prima, si.

Ora, il mio problema è scrivere la regola in modo che il tag [*] sia OBBLIGATORIO per il match ed il replace, altrimenti no.

PS: gli escape dei caratteri speciali nelle regole ci sono, ma il forum li rimuove.