我正在尝试在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’s combined log format。试试这个正则表达式:

/^(\S+) \S+ \S+ \[([^\]]+)\] "([A-Z]+)[^"]*" \d+ \d+ "[^"]*" "([^"]*)"$/m

匹配组如下:
  • 远程IP地址
  • 请求日期
  • 请求HTTP方法
  • User-Agent

  • 但是该域未在此处列出。第二个带引号的字符串是Referer值。

    关于php - 如何在PHP中使用正则表达式解析Apache日志,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2221636/

    10-14 12:49
    查看更多