il sistema dell'array è sconveniente, perché non solo consuma molta più memoria, ma in aggiunta è praticamente sicuro che ci saranno tag su più linee e non potrai gestirli facilmente/correttamente con le espressioni regolari o con qualsiasi altro metodo.

piuttosto leggi il file usando file_get_contents e usi le espressio regolari sul buffer che restituisce, in questo modo non hai problemi di sorta

se hai necessità di tecniche più avanzate puoi sempre usare le tidy
www.php.net/preg
www.php.net/tidy

PS: spero che per espressioni regolari non intenda le ereg ma le preg