У меня возникли проблемы при разборе текстового файла в codeigniter, для каждой строки в файле мне нужно захватить данные групп ... данные: - прогрессивный номер - оператор - производитель - модель - регистрация - тип
Вот вам пример строк файла
8 SIRIO S.P.A. BOMBARDIER INC. BD-100-1A10 I-FORZ STANDARD
9 ESERCENTE PRIVATO PIAGGIO AERO INDUSTRIES S.P.A. P.180 AVANTI II I-FXRJ SPECIALE/STANDARD
10 MIGNINI & PETRINI S.P.A. ROBINSON HELICOPTER COMPANY R44 II I-HIKE SPECIALE/STANDARD
11 MIGNINI & PETRINI S.P.A. ROBINSON HELICOPTER COMPANY R44 II I-HIKE STANDARD
12 BLUE PANORAMA AIRLINES S.P.A. THE BOEING COMPANY 737-86N I-LCFC STANDARD
Для разбора каждой строки я использую следующий код:
if ($fh = fopen($filePath, 'r')) {
while (!feof($fh)) {
$line = trim(fgets($fh));
if(preg_match('/^(\d{1,})\s+(\w{1,})\s+(\w{1,})\s+(\w{1,})\s+(\w{1,})\s+(\w{1,})$/i', $line, $matches))
{
$regs[] = array(
'Operator' => $matches[1],
'Manufacturer' => $matches[2],
'Model' => $matches[3],
'Registration' => $matches[4],
'Type' => $matches[5]
);
$this->data['error'] = FALSE;
}
}
fclose($fh);
}
Код выше не работает ... Я думаю, потому что некоторые группы данных состоят из более чем одного слова ... например, "SIRIO SPA". Любой намек, чтобы это исправить? Большое спасибо за любую помощь