Reemplaza los saltos de línea con una cadena temporal, luego eliminas espacios múltiples y, al final, restableces los saltos de línea.
Código PHP:
Ver original// Carga todo el archivo en una variable:
// Saltos de línea (y combinación retorno+salto) a cadena temporal:
$texto = str_replace(["\r\n", "\n"], '~~SALTO~~', $texto);
// Reemplaza espacios múltiples por sencillos:
// Restaura los saltos de línea
// Voilà, c'est fini
echo $texto;