Hola Zerokilled. ¡Muchas gracias por tu ayuda!
La primera parte (el tema de los navegadores y los espacio) lo sabía pero se ve que no lo he tenido en cuenta en este asunto. A partir de ese punto a sido aprender algo nuevo jeje.
He resuelto el problema usando tu segunda opción. Me ha parecido la más sencilla y como bien dices la que más se aproxima a lo que ya tengo montado.
El tema de nl2br sigo sin resolverlo pero bueno. Seguiré mirando lo de LF y CR y si sigo sin lograrlo entonces me encaminaré hacia el foro de PHP.
Una vez más muchas gracias por tu ayuda.
Buen fin de semana.