У меня есть файл CSV, с которым я работаю, и все поля разделены запятой. Но некоторые из самих полей содержат запятые. В исходном CSV-файле поля, содержащие запятые, инкапсулируются кавычками, как показано здесь;
"Doctor Such and Such, Medical Center","555 Scruff McGruff, Suite 103, Chicago IL 60652",(555) 555-5555,,,,something else
код, который я использую, ниже
<?PHP $file_handle = fopen("file.csv", "r"); $i=0; while (!feof($file_handle) ) { $line = fgetcsv($file_handle, 1024); $c=0; foreach($line AS $key=>$value){ if($i != 0){ if($c == 0){ echo "[ROW $i][COL $c] - $value"; //First field in row, show row # }else{ echo "[COL $c] - $value"; // Remaining fields in row } } $c++; } echo "<br>"; // Line Break to next line $i++; } fclose($file_handle); ?>
Проблема в том, что я получаю поля с запятыми, разделенными на два поля, что испортило количество столбцов, которые я должен иметь.
Есть ли способ найти запятые в кавычках и преобразовать их, или другой способ справиться с этим?