0
Ich brauche eine Apache-Log-Zeile zu analysieren:Matching Apache Zugriffsprotokoll Linie regex php
Hier ist, was ich versucht habe:
$line = '136.243.36.82 - - [30/Apr/2016:17:00:20 -0700] "GET /Socialist/06/0609Educ.htm HTTP/1.1" 200 3093 "-" "Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup-crawler.com/)" "redlug.com"';
$regex = '/^(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\] \"(\S+) (.*?) (\S+)\" (\S+) (\S+) "([^"]*)" "([^"]*)"$/';
preg_match($regex, $line, $match);
die(var_dump($match));
Aber es gibt immer ein leeres Array.
Es endet nicht, wo man es tut denken, https://regex101.com/r/nS4jL0/1. – chris85
Könnten Sie mir mehr Informationen darüber geben, was Sie erwarten würden? d. h. IP, Datum, Anforderungsmethode usw. –
** [korrigiert] (https://regex101.com/r/nS4jL0/2) ** Regex – rock321987