我认为这对你有用;
$s = '1/28/2013 8:43:22 PM Removed {178.76.234.41}
1/28/2013 8:43:22 PM Removed {78.105.26.0}
1/28/2013 8:43:22 PM Removed {24.165.198.12}
1/28/2013 8:43:23 PM Added {178.76.234.41}
1/28/2013 8:43:23 PM Added {69.246.227.43}';
preg_match_all('~(?P<TIME>.*PM)\s+(?P<STATE>Added|Removed)\s+{(?P<IP>.*)}~i', $s, $m, PREG_SET_ORDER);
print_r($m);
// or
foreach ($m as $log) {
printf("Time: %s, State: %s, Ip: %s\n", $log['TIME'], $log['STATE'], $log['IP']);
// Time: 1/28/2013 8:43:22 PM, State: Removed, Ip: 178.76.234.41 ...
}
出去;
大批
(
[0] => 数组
(
[0] => 2013 年 1 月 28 日晚上 8:43:22 已删除 {178.76.234.41}
[时间] => 2013 年 1 月 28 日晚上 8:43:22
[1] => 2013 年 1 月 28 日晚上 8 点 43 分 22 秒
[状态] => 已删除
[2] => 已移除
[IP] => 178.76.234.41
[3] => 178.76.234.41
)
[1] => 数组
(
[0] => 2013 年 1 月 28 日晚上 8:43:22 删除 {78.105.26.0}
[时间] => 2013 年 1 月 28 日晚上 8:43:22
[1] => 2013 年 1 月 28 日晚上 8 点 43 分 22 秒
[状态] => 已删除
[2] => 已移除
[IP] => 78.105.26.0
[3] => 78.105.26.0
)
...