Вот текущий формат файл CSV Я разборудалить двойные кавычки из поля
"Street","City","Country"
"House # 3, Street "23, H, Block". Building 32", "CityName", "Country"
Здесь вы можете увидеть, что 23, H, Block
окружен двойными кавычками и запятые в них - когда я разбор этого файл используя код ниже
while (! feof($file)) {
// provide last parameter so in case we get \ in a field it
// doesn't break the data
$row = fgetcsv($file, null, ",", '"', '"');
// so we don't send anything besides array
if (count($row) > 0) {
// if array is empty we don't pass it to further proceeding
if ($row) {
$sorted[] = array_merge($rows, $row);
}
}
}
разбор делит 23
, h
и Block
в различные элементы в то время как они должны быть одним
Это то, что происходит
array:2 [▼
0 => array:3 [▼
0 => "Street"
1 => "City"
2 => "Country"
]
1 => array:5 [▼
0 => "House # 3, Street 23"
1 => " H"
2 => " Block". Building 32""
3 => "CityName"
4 => "Country"
]
]
В то время как я хочу, как этот
array:2 [▼
0 => array:3 [▼
0 => "Street"
1 => "City"
2 => "Country"
]
1 => array:3 [▼
0 => "House # 3, Street 23, H, Block. Building 32"
1 => "CityName"
2 => "Country"
]
]
Если я могу иметь некоторое регулярное выражение, чтобы удалить нежелательные кавычки из всего файла CSV было бы полезно
Если у Вас есть кавычки внутри поля, они должны быть экранированы , Исправьте программу, которая создает файл. – Barmar
oops, я не создаю файл, поэтому я пытаюсь найти хак, чтобы это сделать - что-то вроде '' 'file_get_content()' '' найти дополнительную цитату, удалить их, а затем использовать '' 'file_put_content()' '' перепишите файл и затем проанализируйте его. – Muhammad
Вы можете использовать регулярное выражение для соответствия котировкам, которые не являются рядом с запятой или началом/концом строки, и удалять их. – Barmar