【发布时间】:2015-12-29 21:51:37
【问题描述】:
如何在输入是字符串而不是资源的情况下使用fgetcsv?
如何将字符串转化为资源?
fgetcsv 需要一个文件句柄资源
$str = "1981;2992;19191\n392;488;299\n"some\ntext";199;222";
$array = fgetcsv($str);
不能使用str_getcsv,因为那我必须在str_getcsv之前用\n分割字符串。如果某些字段包含\n,那么输出将不正确
【问题讨论】:
-
您能否将
\n替换为;,然后使用str_getcsv()和;作为您的分隔符? -
不..不可能..输出会不正确
-
\n是该字段的一部分.. -
你试过了吗explode(';',$str);作为一种解决方法?
-
你能解释一下你的预期输出是什么吗?您希望将端线作为它们附近的字段的一部分还是作为实际的端线?在您的示例中说
"1981;2992;19191\n392;488;299\n"some\ntext";199;222"将转换为$result=["1981","2992","19191\n392",etc]或$result1=["1981","2992","19191"], $result2 = ["392","488","299",etc]