所以我的
代码使用
PHP内置的
fputcsv
功能生成一个CSV
文件.
对于分隔符,我使用’,'(逗号).
对于机箱,我使用”'(双引号).
但是,当我尝试像
fputcsv($file,array('a','b',"long string,with commas",NULL,''),','"');
新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新
a,b,
但我希望输出
"a","b","",""
有没有一个简单的方法来处理这个问题,还是要为fputcsv写一个替代品?
这通常不是CSV
文件的问题.
如果它是不明确的话,fputcsv将引号括起来.例如,
a,
不模糊,但是,long string,with commas,
是,并将在大多数(读取:全部)情况下被CSV读取器解释为具有超过5个字段.
CSV解析器将接受字符串文字,即使没有引号.
如果你想要引用价值观,下面的代码段将这样做.它不会转义字符串内的引号 – 该练习留给读者:
$row = '"' . implode('","',$rowitems) . '"';
你会想把它放在一个循环的所有行.