preg_last_error_msg
返回上一次PCRE正则表达式执行的错误消息
preg_last_error_msg
自 PHP 7.3.0 起可用
preg_last_error_msg 函数返回上一个 PCRE 正则表达式执行中出现的错误信息的字符串形式。它用于提供比 preg_last_error() 更具可读性的错误信息。
preg_last_error_msg(): string
返回一个字符串,描述最近一次正则表达式执行(如 preg_match()、preg_match_all()、preg_replace() 等)发生的错误信息。如果没有错误发生,则返回 "No error"。
$subject = 'test'; $pattern = '/(?:\D+|<\d+>)*[!?]/'; <p>preg_match($pattern, $subject);</p> <p>// 故意制造一个错误,例如一个不完整的括号表达式<br> preg_match('/(unclosed/', $subject);</p> <p>echo preg_last_error_msg();<br>
该示例首先使用 preg_match 尝试匹配一个有效的正则表达式,然后使用一个错误的表达式 '/(unclosed/' 再次调用 preg_match,这会触发正则错误。最后使用 preg_last_error_msg() 获取并输出相应的错误信息,例如 "Missing closing parenthesis"。