str_replace("\n","",$stringa);
così?
nl2br non sostituisce i "\n" , aggiunge prima(o dopo non ricordo) un