Почему оба этих регулярных выражения успешно совпадают?
if(preg_match_all('/$^/m',"",$array)) echo "Match"; if(preg_match_all('/$^\n$/m',"\n",$array)) echo "Match";