Судя по всему проблема в том, что в строках есть кавычки в кавычках.
Помогите составить регулярное выражение чтобы все внутренние кавычки парсились на русские ёлочки

Спустя 2 часа, 48 минут, 20 секунд (25.02.2009 - 20:40) sergeiss написал(а):
Покажи, как именно ты его парсишь... Может, тебе и не помешают никакие кавычки?
И еще - какие у тебя разделители в CSV-шнике?
И еще - какие у тебя разделители в CSV-шнике?
Спустя 48 минут, 9 секунд (25.02.2009 - 21:28) qetbn написал(а):
Вот пример CSV:
"4601546049902","товар","руб",3000,1500,1350,1200,"18%",,
Вот пример строки которая не обрабатывается:
"4601546024183","автор ""название"". Издание ","руб",180,135,120,105,"10%","A1-10-3",23.03.05
Парсю так:
"4601546049902","товар","руб",3000,1500,1350,1200,"18%",,
Вот пример строки которая не обрабатывается:
"4601546024183","автор ""название"". Издание ","руб",180,135,120,105,"10%","A1-10-3",23.03.05
Парсю так:
PHP |
$row = 1; |
Спустя 33 минуты, 6 секунд (25.02.2009 - 22:01) sergeiss написал(а):
Во-первых, файл лучше, наверное, будет загрузить через функцию file().
Во-вторых, еще вопрос: внутри строк могут быть запятые? Если нет, т.е. они используются только для разделения элементов, то тогда можно будет смело использовать explode для этого разделения элементов. А с кавычками можно уже будет работать для каждого элемента отдельно, например, удалить ненужные.
Во-вторых, еще вопрос: внутри строк могут быть запятые? Если нет, т.е. они используются только для разделения элементов, то тогда можно будет смело использовать explode для этого разделения элементов. А с кавычками можно уже будет работать для каждого элемента отдельно, например, удалить ненужные.
Спустя 1 час, 21 минута, 33 секунды (25.02.2009 - 23:23) Viking написал(а):
Цитата |
Парсю csv'шник(прайс-лист) и при выводе заголовков заметил что выводятся не все позиции.. Судя по всему проблема в том, что в строках есть кавычки в кавычках. Помогите составить регулярное выражение чтобы все внутренние кавычки парсились на русские ёлочки |
$str = preg_replace("/\"{2}([^\"]+)\"{2}/","«$1»",$str);
Спустя 1 день, 19 часов, 49 минут, 30 секунд (27.02.2009 - 19:12) qetbn написал(а):
Цитата (sergeiss @ 25.02.2009 - 19:01) |
Во-первых, файл лучше, наверное, будет загрузить через функцию file(). Во-вторых, еще вопрос: внутри строк могут быть запятые? Если нет, т.е. они используются только для разделения элементов, то тогда можно будет смело использовать explode для этого разделения элементов. А с кавычками можно уже будет работать для каждого элемента отдельно, например, удалить ненужные. |
Запятые могут быть.
Работать отдельно -- в каком смысле?