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.