preg_replace e contenuti obbligatori
Come scritto nell'altro thread, 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.
Il mio problema è scrivere la regola in modo che il tag [*] sia OBBLIGATORIO all'interno di [list] per il match ed il replace, altrimenti no.
:wink: