PHP str_replace CSV内容

时间:2013-06-09 10:39:25

标签: php

我正在获取CSV文件的内容并显示(工作正常)。

if (($handle = fopen($url, 'r')) === false) {
    die('Error opening file');
}


$headers = fgetcsv($handle, 1024, ',');
$complete = array();
while ($row = fgetcsv($handle, 1024, ',')) {
    $complete[] = array_combine($headers, $row);
}
fclose($handle);

但是,在此CSV文件中,有一个包含内容的字段,例如:

"123456,123456,123456,123456"

认为我的代码因为双引号而没有处理,我想我需要转换为单引号。如果是这样的情况我将如何整合以下内容(我在考虑类似的事情):

str_replace('"',"'", $url);

1 个答案:

答案 0 :(得分:1)

查看fgetcsv()

的其他参数

默认情况下,机箱字符设置为“,这意味着引号之间的任何内容都应该被视为单个值。将该参数替换为您实际用作csv中的机箱字符的内容,它将起作用。

类似的东西(如果你的封闭字符是'):

while ($row = fgetcsv($handle, 1024, ',', "'")) {

最好不要读错了,然后尝试用str_replace修复它。