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