如何将fgetcsv与字符串一起使用

时间:2015-12-29 21:51:37

标签: php csv

如何使用fgetcsv输入是字符串而不是资源?

如何将字符串转换为资源?

fgetcsv需要文件句柄资源

$str = "1981;2992;19191\n392;488;299\n"some\ntext";199;222";
$array = fgetcsv($str);

无法使用str_getcsv因为我必须在\n之前将字符串拆分str_getcsv ..如果某些字段包含\n,则输出将不正确

2 个答案:

答案 0 :(得分:6)

str_getcsv函数,它可以将CSV字符串解析为数组。

更新:如果您无法使用str_getcsv功能,请尝试将字符串转换为流并在fgetcsv中使用它:

$stream = fopen('php://memory', 'r+');
fwrite($stream, '1981;2992;19191\n392;488;299');
rewind($stream);
$array = fgetcsv($stream);

答案 1 :(得分:0)

你可以尝试

str_getcsv()

str_getcsv

由于这不是一个选项,因此这个答案可能有所帮助,或指向正确的方向:

String to filehandle  不确定这是否适合你 祝你好运。