0
我需要解析的Apache日誌行:匹配Apache的訪問日誌行正則表達式PHP
這是我已經試過:
$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));
但它總是返回一個空數組。
它並沒有結束,你認爲它,https://regex101.com/r/nS4jL0/1。 – chris85
您能否給我更多關於您將在轉儲陣列中預期的信息?即IP,日期,請求方法等... –
** [correct](https://regex101.com/r/nS4jL0/2)**正則表達式 – rock321987