Muy posiblemente no sea exactamente lo que se pregunta, porque quizá se hace para trapichear con expresiones regulares... pero a mí me encanta trabajar con el
DOM o incluso
Tidy para limpiar, si está disponible claro:
http://es2.php.net/manual/es/book.tidy.php http://es2.php.net/manual/es/book.dom.php
Nada como un documento
bien formado y, en cualquier caso, trabajar con el DOM: extraer el nodo o elemento que quieras, trabajar con objetos -o cadenas si quieres-, guardarlo en el formato que quieras... ;)
---
Hay varias opciones para limpieza desde la configuración, por ejemplo párrafos vacíos o etiquetas propietarias (para tidy p.ej.); pero como decía y no obstante, trabajar con el DOM quizá puede ser más pesado pero lo prefiero a cadenas con resultados puede que impredecibles.
Luego, es muy cómodo trabajar con nodos y elementos aunque siempre se genera un objeto de documento y se puede ver como
matar moscas a cañonazos. Dependería creo del trabajo o resultado, para un documento completo sí es lo suyo.
Lo añado para que se contemple otra posibilidad a veces poco aprovechada ;)