Подтвердить что ты не робот

Fgetcsv не может прочитать строку, заканчивающуюся в файле csv, отформатированном в Mac, любое лучшее решение?

Я разбирал файл csv, используя php с функцией fgetcsv. Он проанализировал весь контент в строке, позже я нашел, csv возвращает carraige return как "\ r". Я видел - раньше сообщалось об ошибке php. Я решил это, установив конфигурацию времени выполнения php, которая есть -

ini_set("auto_detect_line_endings", "1");

есть ли еще какое-либо решение или это правильный путь?

Спасибо

4b9b3361

Ответ 1

Настройка auto_detect_line_endings явно рекомендуется в документации php.

Однако я не могу понять, почему вы хотите разграничить строки с \r в 2010 году. Если возможно, преобразуйте их в стиль \n в стиле UNIX.

Ответ 2

\r Окончания строк создаются Microsoft Excel при сохранении в виде файла CSV, поэтому не так много обойти это, если вы начинаете работу с электронной таблицей Excel.

Использование auto_detect_line_endings отлично работает или вы можете нормализовать окончание строк с помощью preg_replace('/\r\n|\n\r|\n|\r/', '\n', $subject);