【发布时间】:2011-08-20 02:47:27
【问题描述】:
我正在使用循环中的数据数组创建一个逗号分隔的文件。但问题是,如果数组中的任何位置已经有逗号,那么它不会创建正确的逗号分隔文件。
如何在逗号分隔文件中包含带逗号的字符串。
谢谢
【问题讨论】:
我正在使用循环中的数据数组创建一个逗号分隔的文件。但问题是,如果数组中的任何位置已经有逗号,那么它不会创建正确的逗号分隔文件。
如何在逗号分隔文件中包含带逗号的字符串。
谢谢
【问题讨论】:
在字符串周围加上引号 (")。如果字符串中还有 ",请通过加倍来转义。示例行:
"hello world, I'll call you ""Earth""", 4, 2, "another string"
因此,如果您在变量 $field 中有一个字符串,请以这种方式规范化该字段:
$field = '"'. str_replace('"', '""', $field) .'"';
【讨论】:
通常的方式是引用字段:
id,name,position
1,"Maxwell, Sam",CTO
2,Bob,Techie
【讨论】:
这取决于读取文件的程序。
如果将解析器编写为状态机,则当字符串有引号时,逗号不应作为分隔符处理。
【讨论】:
【讨论】: