non puoi farlo "semplicemente" con le regexp

o metti su la libreria tidy...o devi fare una cosa un po assai particolare...ovvero una cosa ricorsiva ^^

perché quando estrai un TAG...ne può contenere altro e una qualsiasi espressione regolare cercherà la chiusura del primo tag che trova...

quindi se hai

codice:
<a>
  
  
</a>
ti verrà trovato SOLO A e conterrà B...quindi ogni volta che trovi un risultato devi rilanciarci su una preg_match_all

il tutto è estremamente pesante, e pericoloso...xche se il codice html che riceve non è scritto bene scoppia tutto ^^ senza considerare che i tag senza chiusura lui non te li listerà proprio...quindi quando non ti trova tag con apertura e chiusura devi lanciare una preg match semplice che estragga tutti i tag senza guardare la chiusura...se ti trova invece tag innestati li devi anche lanciare quella per tirare fuori i tag che non hanno una chiusura...e la cosa è un serio problema...perché o fai un'espressione molto poco logica...o dopo che estrai tutti i tag elimini quelli che hanno una chiusura guardando l'altro array

insomma...un casino immenso


anche xche dovresti costruire un array gigantesco non molto gestibile

meglio che usi la libreria tidy

cosa ci devi fare???