Пример файла: ************ История сообщений с Неизвестный (000000000) Сохранено из Jimm 07.06.2008 11:49:17 ------------------------------------>>>- Abyss (06.09.2007 17:52:51): Привет! ------------------------------------<<<- Неизвестный (06.09.2007 18:03:09): Хай ************ Шаблон такой: [General] Name=Jimm import pattern Charset=ANSI UseHeader=2 UsePreMsg=1 [Message] Pattern=^------------------------------------(<<<|>>>)-\r\n\s([^\r\n]+?)\s\((\d\d?)\.(\d\d?)\.(\d\d\d?\d?)\s(\d\d?):(\d\d?):(\d\d?)\):$ In=<<< Out=>>> Direction=1 Day=3 Month=4 Year=5 Hours=6 Minutes=7 Seconds=8 [PreMessage] PreRN=1 AfterRN=2 [Header] Pattern=^\r\n\tИстория сообщений с ([^\r\n]+?)\s\((\d{5,})\)\r\n\tСохранено из Jimm\s[^\r\n]+?\r\n InNick=1 InUID=2 Коментарии: основные моменты содержаться в pattern_cfg, Такие значения RN потому что: считаем... Привет!{\r\n} Раз {\r\n} два после ------------------------------------<<<- Неизвестный (06.09.2007 18:03:09):{\r\n} Один до Хай UseHeader=2 используем заголовок только для определения контакта назначения ==================================================================================================================================== Для History++ ============= Пример файла ************ ### ### Полная история ### Abyss (ICQ: 0000000) - Неизвестный (ICQ: 00000000) ### (создана модулем history++) ### [06.09.2007 17:52:51] Abyss: Привет! [06.09.2007 18:03:09] Неизвестный: Хай ************ Файл шаблона выглядит так: ************************** [General] Name=History++ pattern Charset=UCS2 UseHeader=3 UsePreMsg=1 [Message] Pattern=^\[(\d\d?)\.(\d\d?)\.(\d\d\d?\d?)\s(\d\d?):(\d\d?):(\d\d?)\]\s([^\r\n]+?):$ Direction=7 Day=1 Month=2 Year=3 Hours=4 Minutes=5 Seconds=6 [Header] Pattern=^###\r\n###\s[^\r\n]+?\r\n###\s([^\r\n]+?)\s\([^\r\n]+?:\s([^\r\n]+?)\)\s-\s([^\r\n]+?)\s\([^\r\n]+?:\s([^\r\n]+?)\)\r\n###\s[^\r\n]+?\r\n###\r\n In=3 Out=1 InNick=3 OutNick=1 InUID=4 OutUID=2 [PreMessage] PreRN=1 AfterRN=2 ************************** Все аналогично только добавляется обработка заголовка, получаем ник для того чтобы потом его использовать в качестве маркера направления ======================================================================================================================================== Для Message Export ================== Файл: ***** ------------------------------------------------ History for User : Неизвестный Protocol : ICQ UIN : 00000000 FirstName : Mister LastName : X Age : 0 Gender : M e-mail : Nick : Неизвестный City : State : 66 Phone : Homepage : - About - ------------------------------------------------ Abyss 06.09.2007 17:52:51 Привет Как дела? Неизвестный 06.09.2007 18:03:09 Хай, нормально ******************* [General] Name=Message export import pattern Charset=UTF8 UseHeader=3 UsePreMsg=1 [Message] Pattern=^([^\r\n]+?)[\s]+?(\d\d?)\.(\d\d?)\.(\d\d\d?\d?)\s(\d\d?):(\d\d?):(\d\d?)\s Direction=1 Day=2 Month=3 Year=4 Hours=5 Minutes=6 Seconds=7 [Header] Pattern=^------------------------------------------------\r\n[\s]+?History for\r\nUser[\s]+?:\s([^\r\n]+?)\r\n(.*\r\n)+?Nick[\s]+?:\s([^\r\n]+?)\s\r\n(.*\r\n)+?^------------------------------------------------$ In=1 InNick=3 [PreMessage] PreRN=0 AfterRN=1 PreSP=-2 ********************* Добавлено удаление пробелов в многострочных сообщениях PreSP=-2 С этим форматом сообщений бардак: 1) если протокол НЕ ICQ то UID мы не увидим, тоесть ни JID ни что-то там еще не сохраняются приходится использовать Ник, что не есть гуд 2) Ник! Зачем писать в файлы пробел после ника???? Все строчки (Potocol, User, email) нормальные, а после ника пробел.