Si sois capaces de decir la tremenda barbaridad de que navegadores como IE6/7 e IE8/FF/Chrome etc. manejan igual el tag <br /> está claro cuánto sabéis de maquetación web y lo finos que os deben salir los trabajos XD. Como todo el mundo sabe, hasta el más pardillo, cada navegador maneja a su forma también los <p> y los <hx>, y las diferencias en el <br /> usado como espaciador o multiespaciador son bastante más radicales.
TinyMCE es el primero en desaconsejar el uso de <br /> para otra cosa que no sea para lo que está: dar un salto de línea. Y por supuesto que desde que tenemos memoria lo usamos... Por eso posiblemente en xhtml2 desaparezca, porque es más viejo que Matusalén.
Cita: Te equivocas. Tratala antes de analizarla.
Está probada incluso. Borra todo, ya que captura el patrón antes de | y el patrón después de |. La solución va por los subpatrones, pero aunque he logrado que me respete el patrón espaciador y me borre todos los nbsp sueltos, me deja los que van seguidos de </p> y los que van precedidos de <p>. De todos modos ya digo que con una sencilla función con str_replace el tema queda zanjado, aunque no de un modo tan elegante, claro.