在csv字符串中找不到换行符

时间:2016-06-29 12:06:17

标签: php asp.net csv

使用file_get_contents()我从外部网址检索CSV数据。在此数据中,CSV中的每个新记录都会显示中断。但是,当我尝试爆炸线时,我只在我的数组中获得一个项目,其中包含完整的CSV数据集。这是我使用的代码:

$data = file_get_contents('http://example.url/csvdata.asp?id=20'); // has 12 records
$rows = explode("\n", $data);
echo count($rows); // returns 1

这可能与ASP脚本生成CSV有关吗?他们使用其他新行字符吗?

3 个答案:

答案 0 :(得分:2)

使用 file 并让PHP处理新行

  

file - 将整个文件读入数组

你可以简单地做

$rows = file('http://example.url/csvdata.asp?id=20'); 

答案 1 :(得分:1)

\n可以正常工作,但新线路有更多种方法。这应该有效:

$lines = preg_split("/\\r\\n|\\r|\\n/", $data);

答案 2 :(得分:0)

我和我有同样的问题。我在SO上找到了这个地方:

$rows = explode(PHP_EOL, $data);

PHP_EOL找到该行的结尾。