-2

我正在开发一个 HTML 解析器。具体来说,我正在开发一个从返回的 HTML 中解析 PHP 错误的模块。这是一个例子:

PHP Fatal error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY' in   /local/www/example.com/includes/database/mysql/database.inc on line 43

为了解析它,我想搜索"fatal error" AND "on line". 这可以用preg_match正则表达式完成吗?如果是这样,怎么做?

4

3 回答 3

0

没那么难,看看 txt2re.com 就可以在不知道任何东西的情况下实际编写正则表达式!

这是给你的首发

/Fatal error: (.*?) on line (\d+)/
于 2013-04-26T18:51:19.210 回答
0

根本不需要用 REGEX 来解析它;已经可以将错误传递为$variables. 您可以使用set_error_handler()在 PHP 中指定自己的错误处理程序。

您还可以使用trigger_error()

<?php
if ($divisor == 0) {
    trigger_error("Cannot divide by zero", E_USER_ERROR);
}
?>
于 2013-04-26T18:55:16.720 回答
0
/.*(Fatal error).+(on line).*/

将捕获字符串“致命错误”和“在线”。

于 2013-04-26T18:55:52.120 回答