Имеются логи в таком формате:[] : Необходимо из распарсить и ввести в базу данных.Здесь есть такие проблемы: во-первых, может занимать несколько строчек (иначе бы было бы просто поделить ввод на строки через preg_split и потом выделить необходимые части через preg_replace). При этом в такой строчке, понятно, могут содержаться процитированные записи лога. Т. е. надо проверять на то, что timestamp в цитате < timestamp'а сообщения, после чего или добавлять строку к предыдущей, меняя \n на что-то еще (если это text) или обрабатывать как новую. Т. е. чтобы в итоге переменная содержала по одному сообщению на строке (чтобы их можно было далее обработать через preg_split и foreach);Во-вторых, в text могут содержаться особые структуры - цитаты, которые содержатся в text и выглядят как [] : . Их может быть несколько, причем они чередуются с легитимным текстом. Как их вычленить в один массив, а текст -- в другой?Также, еще вот общий вопрос. Если есть программа, которая исполняется через index.php и не самая большая (20-50 КБ), надо ли выделить все функции в отдельный класс в отдельном файле, а в index.php создать объект и вызывать их через $obj->method(); или оставить все в index.php и вызывать прямо через method(); ? Как правильнее/точнее?
|