fgetcsv fails to read line ending in mac formatted csv file, any better solution?

后端 未结 2 1739
长发绾君心
长发绾君心 2021-01-31 13:51

I was parsing a csv file using php with fgetcsv function. It parsed all content in a line, later i found, csv contains carraige return as \"\\r\". I saw - it was reported as php

相关标签:
2条回答
  • 2021-01-31 14:17

    \r line endings are created by Microsoft Excel when saving as a CSV file, so there is not much getting around that if you are starting with an Excel spreadsheet.

    Using auto_detect_line_endings works fine, or you can normalize line endings with preg_replace("/\r\n|\n\r|\n|\r/", "\n", $subject);

    0 讨论(0)
  • 2021-01-31 14:20

    Setting auto_detect_line_endings is explicitly recommended by the php documentation.

    However, I cannot fathom why you would want to delimit lines with \r in 2010. If possible, convert them to the UNIX-style \n.

    0 讨论(0)
提交回复
热议问题