Я пытаюсь написать регулярное выражение, которое позволит мне анализировать файлы CSV, которые создает Excel. Я заметил, когда вы экспортируете CSV из Excel, если поле является строкой, оно будет заключено в кавычки. Если эта строка сама содержит кавычки, она будет экранировать каждую кавычку с кавычкой !!
Что я хочу сделать, это разбить каждую строку, которую я анализирую, на поля. В свете вышесказанного, я должен разделить, когда есть запятая, которая не в кавычках. Мое регулярное выражение ужасно, так как бы я это сделал?
Я могу разделить запятыми, но как мне сказать, что между кавычками нет?
$lines = file($toce_path);
foreach ($lines as $line) {
$line_array = preg_split("/,/", $line);
$test = "($line_array[0], $line_array[1], $line_array[2])";
echo $test.'<br />';
}
Этот вопрос точно такой же, как у меня, но он не работает с preg_split. Preg_split требует Perl-совместимого синтаксиса регулярных выражений.
Спасибо всем за помощь