Php 如何处理致命错误?
大家好,我想通过使用php的substr函数获取字符串的一部分 这是我的密码Php 如何处理致命错误?,php,Php,大家好,我想通过使用php的substr函数获取字符串的一部分 这是我的密码 $error = array("Warning","Parse error","*Fatal error"); $errorfunction = ''; foreach( $error as $error => $err){ if(preg_match("/$err/", $script_output, $matches, PREG_OFFSET_CAPTURE))
$error = array("Warning","Parse error","*Fatal error");
$errorfunction = '';
foreach( $error as $error => $err){
if(preg_match("/$err/", $script_output, $matches, PREG_OFFSET_CAPTURE))
$errorfunction .= "<b>$err<br>";
}
if($errorfunction != ''){
$script_output =substr($script_output,0,strpos($script_output,"in "));
}
我将致命错误定义为*致命错误,因为在php中,每当出现致命错误时,它都以*致命错误开始
但这是行不通的。请大家告诉我哪里错了
如有任何建议,将不胜感激。
请帮助字符串开头的
*
在正则表达式中有特殊含义;使用它时,PCRE会出现语法错误。启用“错误”以便知道出了什么问题,然后不要使用正则表达式查找静态字符串:
if (strpos($script_output, $err) !== false) {
$errorfunction .= "<b>$err<br>";
}
if(strpos($script\u output,$err)!==false){
$errorfunction.=“$err
”;
}
如果您的实际用例更复杂,将为您转义正则表达式中具有特殊意义的字符。(确保传递分隔符。)我已经打开了“按错误报告错误”(E_ALL);但由于这个错误,你让我使用preg_quote。我正在使用,但问题仍然是一样的,我想从这个
致命错误中获取子字符串:调用/home/code1/public_html/eval/exec.php(24):eval()中未定义的函数sanjay(),第2行的代码
和从@user2372214开始到单词“in”的子字符串:好吧,那么问题是在这一行中没有
*
。所以把它拿出来。
if (strpos($script_output, $err) !== false) {
$errorfunction .= "<b>$err<br>";
}