Salve, sto usando questo codice per gestire i tag QUOTE di un forum che sto creando. In particolare vorrei che i quote cambiassero colore alternativamente a seconda della loro profondità

Codice PHP:
$bbTag="#\\[QUOTA\\](.*)(?!\\[QUOTA\\])\[/QUOTA\\]#Usi";
        
$k=0;
        while(
preg_match($bbTag$text)!=0){
            if(
$k%2==0){
                
$quote="even";
            } else {
                
$quote="odd";
            }
            
$text preg_replace($bbTag"
<div class=\"quote
$quote\">\\1</div>"$text);
            
$k++;
        } 
Questo codice funziona bene se per ogni livello di profondità c'è un solo quote, altrimenti si comporta in modo anomalo...ecco uno screenshot di ciò che accade (ho scritto il nome della classe del div, tra parentesi quello che invece mi aspettavo)

http://www.mjzone.net/Files/evenodd22532.png

Purtroppo non riesco a capire quale sia l'ordine in cui i tag vengono controllati
Preferibilmente preferirei non dover cambiare il codice utilizzato per modificare i tag innestati, visto che sono arrivato a questo dopo due giorni di sclero ed è l'unica soluzione che sia riuscito a creare che gestisca decentemente i tag innestati