У меня есть анализатор CSV, который принимает Outlook 2010 Contact Export. CSV-файл и создает массив значений.
Я разбиваю каждую строку на символе новой строки и каждый столбец на запятой. Это работает нормально, пока кто-то не поместит новую строку в поле (обычно Address). Эта новая строка, которую я предполагаю "\ n" или "\ r \ n", разбивает строку там, где не должна, и весь файл становится испорченным с этого момента.
В моем случае это происходит, когда Business Street пишется в две строки:
123 Apple Dr.
Подразделение A
Мой код:
$file = file_get_contents("outlook.csv");
$rows = explode("\r\n",$file);
foreach($rows as $row)
{
$columns = explode(",",$row);
// Further manipulation here.
}
Я пробовал "\ n" и "\ r \ n", тот же результат.
Я подумал, что смогу подсчитать количество столбцов в первой строке (ключи), а затем найти способ запретить новую строку до тех пор, пока не будет проанализировано столько столбцов, но оно выглядит неясным.
Есть ли другой символ для новой строки, который я могу попробовать, который не был бы внутри самих полей данных?