$lineArray = preg_split('/\t\s*(?=([^"]*"[^"]*")*[^"]*$)/', $line);
Выше кода снимаем фрагмент кода для разделения файла с разделителями табуляции, где вкладки не находятся внутри двойных кавычек Работает нормально, кроме случаев, когда есть двойные вкладки (пропущены поля). В основном PHP видит только одну вкладку, когда их две. Есть ли опция ширины табуляции?
\ s также будет соответствовать вкладке, и вы, очевидно, не хотите этого.
$lineArray = preg_split('/\t[ \r\n]*(?=([^"]*"[^"]*")*[^"]*$)/', $line);
должен решить эту проблему, сопоставляя только пробелы без табуляции.