У меня есть текстовый файл с буквенной строкой \r\n
.Я хочу заменить это фактическим переводом строки (\ n).
Я знаю, что регулярное выражение /\\r\\n/
должно соответствовать ему (я проверял это в Reggy ), но не могузаставить его работать в PHP.
Я пробовал следующие варианты:
preg_replace("/\\\\r\\\\n/", "\n", $line);
preg_replace("/\\\\[r]\\\\[n]/", "\n", $line);
preg_replace("/[\\\\][r][\\\\][n]/", "\n", $line);
preg_replace("/[\\\\]r[\\\\]n/", "\n", $line);
Если я просто попытаюсь заменить обратную косую черту, она будет работать правильно.Как только я добавляю r, он не находит совпадений.
Файл, который я читаю, кодируется как UTF-16.
Редактировать:
Я также уже пробовалиспользуя str_replace()
.
Теперь я считаю, что проблема здесь заключается в кодировке символов файла.Я попробовал следующее, и оно сработало:
$testString = "\\r\\n";
echo preg_replace("/\\\\r\\\\n/", "\n", $testString);
, но оно не работает на строках, которые я читаю из моего файла.