php正则返回错误函数preg

php5.2开始,正则已经可以利用preg_last_error()函数来返回最后一次PCRE正则执行的错误代码.

利用此函数可以利便我们调试PHP的正则语句,写成一个函数。上码:

<?php function preg_error() { $error_code = preg_last_error(); switch ($error_code) { case PREG_NO_ERROR : echo 'PREG_NO_ERROR'; echo '没有匹配错误'; break; case PREG_INTERNAL_ERROR: echo 'PREG_INTERNAL_ERROR'; echo 'PCRE内部错误'; break; case PREG_BACKTRACK_LIMIT_ERROR: echo 'PREG_BACKTRACK_LIMIT_ERROR'; echo '挪用回溯限制超出'; break; case PREG_RECURSION_LIMIT_ERROR: echo 'PREG_RECURSION_LIMIT_ERROR'; echo '递归限制超出'; break; case PREG_BAD_UTF8_ERROR: echo 'PREG_BAD_UTF8_ERROR'; echo '异常的utf-8数据'; break; case PREG_BAD_UTF8_OFFSET_ERROR: echo 'PREG_BAD_UTF8_OFFSET_ERROR'; echo '偏移量与正当的urf-8代码不匹配'; break; default: echo 'UNKNOW ERROR'; echo '未知错误'; } } //以下为测试内容 preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar'); preg_error(); echo '<br />'; preg_match('/foobar/', 'foobar foobar foobar'); preg_error(); ?>

功效:

PREG_BACKTRACK_LIMIT_ERROR挪用回溯限制超出 PREG_NO_ERROR没有匹配错误

end

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7923.html