阿里云主机

万维景盛

万维景盛官网
PHP代码脚本:怎样使用正则表达式提取文本或日志数据?

使用正则表达式读取数据是一种事半功倍的数据爬取和分析方式,如果我们对weblog日志进行分析,需要提取某些站点的日志,那么就可以借助于正则表达式,逐行扫描,然后提取符合条件的日志。也可以逐行扫描后,将日志分析分解为字段,然后录入数据库。下面是一个使用正则表达式读取文本数据的php代码实例:


    public function parseLog()
    {
        $log_file = Http::getLog();
        if (!is_file($log_file )) {
            $this->log("$log_file  file not fond");
            return;
        }
        $items = file($log_file , FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
        if (!is_array($items)) {
            $this->log("get $log_file content fail");
            return;
        }
        foreach ($items as $content) {
            if (preg_match("/\s*(\S+)\s+(\S.+)/", $content, $match)) {
                $time                      = $match[1];
                $requestvars= $match[2];
                $requests= explode(' ', substr($requestvars, 0, -1));
                foreach ($requests as $request) {
                    self::$mapVars[$request] = $time;
                }
            }
        }
    }


< 购物车 > 会员 客服 充值 工单
Top

客服热线

010-80253326

18610695105

客服QQ

请拨总机 010-80253326

咨询售后问题建议 提交工单