PHP str_replace CSV Content


PHP str_replace CSV Content

我正在获取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);

查看fgetcsv()的其他参数

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

类似于(如果你的包围字符是'):

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

总比先读错再用str_replace修复要好。