Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разбор логов HLDS
 
 автор: pini-pini   (19.07.2008 в 15:19)   письмо автору
 
 

Есть строки:

L 06/18/2008 - 14:16:05: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "h1"
L 06/18/2008 - 14:18:44: "tea4me?!<11><STEAM_ID_LAN><CT>" say "/rank" (dead)
L 06/18/2008 - 14:18:46: "tea4me?!<11><STEAM_ID_LAN><CT>" say "/top15" (dead)
L 06/18/2008 - 14:21:09: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "bl9" (dead)
L 06/18/2008 - 14:21:32: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "tbI pini pini"
L 06/18/2008 - 14:21:35: "tea4me?!<11><STEAM_ID_LAN><CT>" say "noi"
L 06/18/2008 - 14:21:38: "tea4me?!<11><STEAM_ID_LAN><CT>" say "no*"
L 06/18/2008 - 14:21:41: "tea4me?!<11><STEAM_ID_LAN><CT>" say "ya 2 gl admin"
L 06/18/2008 - 14:21:54: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "a"
L 06/18/2008 - 14:23:17: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "mono adminky?"
L 06/18/2008 - 14:23:17: "tea4me?!<11><STEAM_ID_LAN><CT>" say "nowi"
L 06/18/2008 - 14:23:24: "tea4me?!<11><STEAM_ID_LAN><CT>" say "da zayavky podai na saite"
L 06/18/2008 - 14:23:26: "tea4me?!<11><STEAM_ID_LAN><CT>" say "mi rassmotrim"
L 06/18/2008 - 14:23:44: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "a bez 3a9vku"
L 06/18/2008 - 14:23:54: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "pliz"
L 06/18/2008 - 14:23:54: "tea4me?!<11><STEAM_ID_LAN><CT>" say "bez zayavki nikak )"
L 06/18/2008 - 14:23:59: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "ny"
L 06/18/2008 - 14:24:00: "tea4me?!<11><STEAM_ID_LAN><CT>" say "da tam prosto vse )"
L 06/18/2008 - 14:25:15: "tea4me?!<11><STEAM_ID_LAN><CT>" say ":D" (dead)
L 06/18/2008 - 14:25:22: "tea4me?!<11><STEAM_ID_LAN><CT>" say "otxodil"
L 06/18/2008 - 14:25:22: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "/top15"
L 06/18/2008 - 14:25:26: "tea4me?!<11><STEAM_ID_LAN><CT>" say "/rank"
L 06/18/2008 - 14:25:58: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "udau saut"
L 06/18/2008 - 14:26:28: "tea4me?!<11><STEAM_ID_LAN><TERRORIST>" say "/top15"
L 06/18/2008 - 14:31:14: "Skill__exzon (-.-)<15><STEAM_ID_LAN><TERRORIST>" say "/top15"
L 06/18/2008 - 14:38:59: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "only a! OK?"
L 06/18/2008 - 14:40:34: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "4it"
L 06/18/2008 - 14:42:41: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "ubl,/sa" (dead)
L 06/18/2008 - 14:42:44: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say " 9 Hy6676" (dead)
L 06/18/2008 - 14:43:42: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "hY x3" (dead)
L 06/18/2008 - 14:44:19: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "Onky A!!!!!"
L 06/18/2008 - 14:45:43: "pini-pini<37><STEAM_ID_LAN><SPECTATOR>" say "IDET NABOR ADMINOV NA ETOT SERVER! Podrobnosti na www.PP-GS.net"
L 06/18/2008 - 14:46:28: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "b,lal" (dead)
L 06/18/2008 - 14:46:33: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "Mmudak.."
L 06/18/2008 - 14:48:34: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "blsa"
L 06/18/2008 - 14:48:37: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "ppc"
L 06/18/2008 - 14:48:40: "unnamed<44><STEAM_ID_LAN><CT>" say "boom" (dead)
L 06/18/2008 - 14:48:43: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "cyka" (dead)
L 06/18/2008 - 14:50:04: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "cyka" (dead)
L 06/18/2008 - 14:50:19: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "hetttt!'"
L 06/18/2008 - 14:50:23: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "tHE byka"
L 06/18/2008 - 14:50:24: "tea4me?!<46><STEAM_ID_LAN><TERRORIST>" say "da vot takoe"
L 06/18/2008 - 14:50:32: "tea4me?!<46><STEAM_ID_LAN><TERRORIST>" say "toko 4tobi samo "
L 06/18/2008 - 14:50:48: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "ppc" (dead)
L 06/18/2008 - 14:50:51: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "}|{ECTb"
L 06/18/2008 - 14:51:13: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "ga HY hA!" (dead)
L 06/18/2008 - 14:51:16: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "ppx" (dead)
L 06/18/2008 - 14:51:32: "tea4me?!<46><STEAM_ID_LAN><CT>" say "/rank"
L 06/18/2008 - 14:52:10: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "ppc" (dead)
L 06/18/2008 - 14:52:57: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "bkla" (dead)
L 06/18/2008 - 14:53:18: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "bla" (dead)
L 06/18/2008 - 14:53:31: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "Hga((" (dead)
L 06/18/2008 - 14:53:40: "tea4me?!<46><STEAM_ID_LAN><CT>" say "bla"
L 06/18/2008 - 14:53:44: "tea4me?!<46><STEAM_ID_LAN><CT>" say "Roma"
L 06/18/2008 - 14:53:57: "tea4me?!<46><STEAM_ID_LAN><CT>" say "eta xren' vse ewe y menya na pricele"
L 06/18/2008 - 14:55:06: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "bla" (dead)
L 06/18/2008 - 14:55:08: "MEHT VFR400 NC24<20><STEAM_ID_LAN><CT>" say "cyka" (dead)
L 06/18/2008 - 14:55:11: "tea4me?!<46><STEAM_ID_LAN><CT>" say "/rank" (dead)
L 06/18/2008 - 14:55:12: "tea4me?!<46><STEAM_ID_LAN><CT>" say "/top15" (dead)
L 06/18/2008 - 14:57:43: "<<ArTuR AbRaHaM>><31><STEAM_ID_LAN><CT>" say "soorry"
L 06/18/2008 - 14:59:43: "tea4me?!<46><STEAM_ID_LAN><CT>" say "/rank" (dead)
L 06/18/2008 - 14:59:46: "tea4me?!<46><STEAM_ID_LAN><CT>" say "/hp" (dead)
L 06/18/2008 - 15:00:26: "Ghost<55><STEAM_ID_LAN><TERRORIST>" say "stavte bombu`" (dead)
L 06/18/2008 - 15:00:34: "tea4me?!<46><STEAM_ID_LAN><CT>" say "timeleft"
L 06/18/2008 - 15:01:50: "tea4me?!<46><STEAM_ID_LAN><CT>" say "/hp" (dead)
L 06/18/2008 - 15:01:53: "tea4me?!<46><STEAM_ID_LAN><CT>" say "/rank" (dead)
L 06/18/2008 - 15:01:55: "tea4me?!<46><STEAM_ID_LAN><CT>" say "/top15" (dead)
L 06/18/2008 - 15:02:11: "Fic.ti.ON<52><STEAM_ID_LAN><TERRORIST>" say "e6aHa9l MblwKA!!!" (dead)
L 06/18/2008 - 15:02:55: "Fic.ti.ON<52><STEAM_ID_LAN><TERRORIST>" say "suka loh" (dead)
L 06/18/2008 - 15:04:04: "Fic.ti.ON<52><STEAM_ID_LAN><TERRORIST>" say "haha" (dead)
L 06/18/2008 - 15:05:06: "la spoze<59><STEAM_ID_LAN><CT>" say "pini tit?" (dead)
L 06/18/2008 - 15:05:08: "la spoze<59><STEAM_ID_LAN><CT>" say "tut?" (dead)
L 06/18/2008 - 15:05:12: "pini-pini<53><STEAM_ID_LAN><SPECTATOR>" say "da"
L 06/18/2008 - 15:05:16: "la spoze<59><STEAM_ID_LAN><CT>" say "on 4iteril ?" (dead)
L 06/18/2008 - 15:05:25: "la spoze<59><STEAM_ID_LAN><CT>" say "tuomas" (dead)
L 06/18/2008 - 15:05:35: "pini-pini<53><STEAM_ID_LAN><SPECTATOR>" say "vrode net"


Из них надо получить только подстроки, вида: "vrode net", "tuomas" и т.д.
PS: на PHP+PCRE
PSS: это для антиматника, если кто-то хочет помочь в составлении - прошу
PSSS: логи с моего сервера :)

   
 
 автор: Trianon   (19.07.2008 в 16:25)   письмо автору
 
   для: pini-pini   (19.07.2008 в 15:19)
 

<?php
$logs 
= <<<logstream
L 06/18/2008 - 14:16:05: "Skill__exzon (-.-)<6><STEAM_ID_LAN><TERRORIST>" say "h1"
L 06/18/2008 - 14:18:44: "tea4me?!<11><STEAM_ID_LAN><CT>" say "/rank" (dead)
...
L 06/18/2008 - 15:05:25: "la spoze<59><STEAM_ID_LAN><CT>" say "tuomas" (dead)
L 06/18/2008 - 15:05:35: "pini-pini<53><STEAM_ID_LAN><SPECTATOR>" say "vrode net"
logstream;
//echo $logs;

$pattern '#'
 
'^ L'
 
' \s ([\d]{2}/[\d]{2}/[\d]{4}\s-\s[\d]{2}:[\d]{2}:[\d]{2}):'
 
' \s "([^<]+)'
 
'<([\d]+)>'
 
'<([^>]+)>'
 
'<([^>]+)>"'
 
' \s say \s '
 
'"(.+)"'
 
'(\s\(dead\))?'
// . ' $'
 
' #x';

 
$p explode("\r\n"$logs);
 
$out = array();
 foreach(
$p as $v)
 {
   
preg_match($pattern$v$m);
   unset(
$m[0]);
   
$out[] = $m;
 }
 echo 
'<pre>';
 
print_r($out);
?>

   
 
 автор: pini-pini   (19.07.2008 в 16:40)   письмо автору
 
   для: Trianon   (19.07.2008 в 16:25)
 

Спасибо, сработало!
Осталось всего-лиш собрать словарик и написать на AMXX плагин для работы с ним :)

   
 
 автор: Trianon   (19.07.2008 в 17:21)   письмо автору
 
   для: pini-pini   (19.07.2008 в 16:40)
 

не всё так просто.
Я, например, не представляю, как будет выглядеть лог, если в нем встретятся уголки в нике или кавычки в репликах, но точно знаю, что такие строки нормально не распарсятся.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования