阿里云主机

万维景盛

万维景盛官网
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-57180806

18610695105

客服QQ

请拨总机 010-57180806

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