You need to place the \n in double quotes.
Inside single quotes it is treated as 2 characters '\' followed by 'n'
You need:
$str = str_replace("\n", '', $str);
A better alternative is to use PHP_EOL as:
$str = str_replace(PHP_EOL, '', $str);