Побег из разрыва строки в csv php


У меня есть шаблон .csv, который я хотел бы, чтобы люди заполнили, сохранили и загрузили его.

Проблема заключается в следующем, предполагая, что некоторые пользователи будут вставлять скрытые разрывы строк в строку, при использовании fgetcsv() он будет выводить строку, разбитую скрытыми разрывами строк.

Как я могу избежать разрыва строки или очистить свои данные?

Возможное решение:

Предположим, что первая строка верна, $count = подсчитайте количество разделителей до разрыва строки, перестройте текст в массив как пока $считается;

Но я думаю, что есть лучшие доступные варианты.

ПОСЛЕДУЮЩЕЕ РЕДАКТИРОВАНИЕ

Вот ввод *ВАЖНО[! ]: данные внутри файла excel "в порядке", они не разбиты, это одна строка!!! сохранение его в виде csv-файла и открытие в блокноте показывает следующее

asd;"asd
asd
asd";asd;asd

Вот код

$handle = fopen("file.csv","r");
$data = fgetcsv($handle,";");
while($data = fgetcsv($handle)) {
    $array = explode(";",$data[0]);
    print_r($array);
}
fclose($handle);

Вот повторенные данные

Array ( [0] => asd [1] => "asd ) Array ( [0] => asd ) Array ( [0] => asd" [1] => asd [2] => asd [3] => ) 

Спасибо

 3
Author: cristi _b, 2011-10-10

1 answers

Очень легко проверить ваш случай и убедиться, что нет разбитых строк, если поля правильно заключены в кавычки.

Итак, строка CSV, подобная этой

1,"joe
""Big Coyote""
Hopkins",598600

Будет прочитано без единой проблемы.

 4
Author: Your Common Sense, 2011-10-10 11:49:05