[PHP] Распарсить лог с возможным переносом строк

Статус
В этой теме нельзя размещать новые ответы.

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Всем привет!

Есть файл log.txt, в котором содержится неeбическая хyйня отчёт о работе ПО. Содержание просто отвратительное:
Код:
ДД-ММ ЧЧ:ММ:СС [КАКАЯ-ТО ХЕРНЯ] INFO КАКАЯ-ТО ХЕРНЯ
НА
НЕСКОЛЬКО
СТРОК
ДД-ММ ЧЧ:ММ:СС [КАКАЯ-ТО ХЕРНЯ] WARNING КАКАЯ-ТО ХЕРНЯ
Нужно это распарсить...

Формат немного динамический - часть лога на несколько строк, часть на 1 строку.
Начинается строка всегда с времени в формате ДД-ММ ЧЧ:ММ:СС, заканчивается чем угодно...

Подскажите, как реализовать - крайне редко пишу парсеры...
 
Ищем строку начинающуюся с даты и далее захватываем строки пока не встретим новую строку начинающуюся с даты.
Если особо не проверять валидность даты, то для формата ДД-ММ ЧЧ:ММ:СС хватит \d\d-\d\d \d\d:\d\d:\d\d
PHP:
preg_match_all('~^\d\d-\d\d \d\d:\d\d:\d\d(?:(?!^\d\d-\d\d \d\d:\d\d:\d\d).+[\r\n]*)+~m', $log, $matches);
var_dump($matches[0]);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху