2011-05-29 17:44:36 [INFO] <gracz> jakis tekst
takie coś:
Oczywiście wszystko zapisane w tabeli itd.
2011-05-29 | 17:44:36 | SAY | gracz: | jakis tekst
Jak łatwo się domyślić, znajduję znak "<", ">" oraz to co jest między nimi, żeby określić nick, a po spacji wiadomość. Preg_match wygląda tak:
if(preg_match("#([0-9]{4})-([0-9]{2})-([0-9]{2})\s([0-9]{2}):([0-9]{2}):([0-9]{2})\s(\[INFO\])\s(\<)(.{1,})(\>)\s(.*)#", $line, $result))
Cały mój misterny plan ugrzązł w tym miejscu (fragment logu):
2011-05-29 17:49:37 [INFO] <gracz> jakis tekst > inny tekst
A mój skrypt parsuje to na takie coś:
2011-05-29 | 17:49:37 | SAY | gracz> jakis tekst: | inny tekst
Czyli uznaje dalszy ciąg, aż do znaku ">", jako nick, co ciekawe przed faktycznym nickiem dopisując ">", a nie po tym ciągu.
Nie mam pojęcia o co chodzi, próbowałem na wiele sposobów ograniczyć występowanie znaku ">", np. przez "{,1}", ale dalej nie chce współpracować.
Mam nadzieję, że napisałem jasno i wybaczcie, że się tak rozpisuję, ale chcę, żeby wszystko było jasne, dlatego małe wprowadzenie uznałem za stosowne. Z góry dziękuję za pomoc
