diff --git a/inc/parser/lexer.php b/inc/parser/lexer.php index cf892e0bc398eb931aa011c1d0113ca080288916..375f9e5f97304e68f3eaf55cef9126f3c498b657 100644 --- a/inc/parser/lexer.php +++ b/inc/parser/lexer.php @@ -115,7 +115,20 @@ class Doku_LexerParallelRegex { if (! preg_match($this->_getCompoundedRegex(), $subject, $matches)) { if(function_exists('preg_last_error')){ $err = preg_last_error(); - if($err == 2) msg('A PCRE backtrack error occured. Try to increase the pcre.backtrack_limit in php.ini',-1); + switch($err){ + case PREG_BACKTRACK_LIMIT_ERROR: + msg('A PCRE backtrack error occured. Try to increase the pcre.backtrack_limit in php.ini',-1); + break; + case PREG_RECURSION_LIMIT_ERROR: + msg('A PCRE recursion error occured. Try to increase the pcre.recursion_limit in php.ini',-1); + break; + case PREG_BAD_UTF8_ERROR: + msg('A PCRE UTF-8 error occured. This might be caused by a faulty plugin',-1); + break; + case PREG_INTERNAL_ERROR: + msg('A PCRE internal error occured. This might be caused by a faulty plugin',-1); + break; + } } $split = array($subject, "", "");