我正在尝试在 PHP 中分割这个字符串:
11.11.11.11 - - [25/Jan/2000:14:00:01 +0100] "GET /1986.js HTTP/1.1" 200 932 "http://domain.com/index.html" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6"
如何将其拆分为IP、日期、HTTP 方法、域名和浏览器?
这个日志格式似乎是Apache的组合日志格式 http://httpd.apache.org/docs/2.2/logs.html#combined。试试这个正则表达式:
/^(\S+) \S+ \S+ \[([^\]]+)\] "([A-Z]+)[^"]*" \d+ \d+ "[^"]*" "([^"]*)"$/m
匹配组如下:
- 远程IP地址
- 查询日期
- 请求HTTP方法
-
用户代理 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.43 value
但该域名未在那里列出。第二个带引号的字符串是Referer http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.36 value.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)