Allora,
cosi come lo avevamo fatto non funzionava.

C'era bisogno di fare un replace anche degli \r :-)
$desc = preg_replace("/\r\n/", "\n", $desc);

e cosi effettivamente funziona!

Ora, una volta che ho l'ultima parte in una variabile, come posso prendermi la restante su un'altra?