Замена или удаление новой линии с чем-то еще, но только между одинарные или двойные кавычки использовании PHP на файл CSV

я CSV-файл, который содержит около 200 000 - 300 000 записей. Большинство записей могут быть разделены и вставлены в базу данных MySQL с простым

$line = explode("n", $fileData);

а потом значений, разделенных

$lineValues = explode(',', $line);

, а затем вставляются в базу данных, используя соответствующие данные типа, например int, float, string, текст и т.д.

тем не менее, некоторые из учетных записей столбец текста, который включает в строку. Перерывы при использовании $line = explode("\", $fileData); метод. Каждая строка данных, которые должны быть вставлены в базу данных около 216 столбцов. не каждая линия имеет запись с в строку. Однако, каждый раз, когда находится в строке, заключенной между парой одинарные кавычки (')

каждая строка в следующем формате:

id,data,data,data,text,more data

пример:

1,0,0,0,'Hello World,0
2,0,0,0,'Hello
    World',0
3,0,0,0,'Hi',0
4,0,0,0,,0

Как видно из примера, большинство записей могут быть легко разделить с методами показано выше. Вторая запись в примере, который вызывает проблему.

Новые строки только и файл не включает \r в файл.

Найдено 5 ответов:

Replacing or Removing a new line with something else but only between single or double quotes using PHP on a CSV file

http://stackoverflow.com/questions/187076/replacing-or-removing-a-new-line-with-something-else-but-only-between-single-or

Посмотреть решение →