Autor Zpráva
matak
Profil
line:

127.0.0.1 - - [21/Sep/2006:16:10:36 +0200] "GET / HTTP/1.1" 200 36284 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)" 1


a tohle je regularni vyraz:

$regex = '/^(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\] "(\S+) (.*?) (\S+)" (\S+) (\S+) (\S+) (\S+) (\d+)$/';

a tady fce ktera nic nevrati:

preg_match($regex, $line, $matches);
tiso
Profil
print_r($matches); si skúšal?
matak
Profil
ano vypada to ze regularni vyraz nesedi ale nevidim chybu, hlavne je ukradnuty od George Schlossnagla
Retal
Profil
A proč si to nezdebuguješ sám? Tenhle konkrétní regexp se zasekne na useragent. Správně vypadá takto:

$re = '/^(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\] "(\S+) (.*?) (\S+)" (\S+) (\S+) (\S+) "([^"]+)" (\d+)/';
matak
Profil
hm diky vyzkousim ja bych si ho zbudoval sam ale nevidel sem chybu
Toto téma je uzamčeno. Odpověď nelze zaslat.

0