改行コードは通常「LF(\n)」「CR(\r)」「CR+LF(\r\n)」などが有り、「\n」だけを置換すると「\r」が残ってしまう場合があります。
preg_replace や preg_split などで改行を扱う場合は大文字の「\R」を使うと3種類の改行コードをまとめて指定出来ます。
<?php
$res = preg_split("/\R/", "sample\nsample\rsample\r\nsample");
print_r($res);
Array ( [0] => sample [1] => sample [2] => sample [3] => sample )
