Php/func regex preg last error

来自菜鸟教程
跳转至:导航、​搜索

PHP preg_last_error()函数

Reg PHP RegExp参考

使用preg_last_error()处理错误:

<?php

  $str = 'The regular expression is invalid.';
$pattern = '/invalid//';

  $match = @preg_match($pattern, $str, $matches);

if($match === false) {
  
  // An error occurred
  $err = preg_last_error();
  if($err == 
  PREG_INTERNAL_ERROR) {
    echo 'Invalid regular 
  expression.';
  }
} else if($match) {
  // A match was 
  found
  echo $matches[0];
} else {
  // No matches were 
  found
  echo 'No matches found';
}
?>

定义和用法

The preg_last_error() 函数为最近求值的正则表达式返回错误代码。返回值将匹配以下常量之一:

不变 描述
PREG_NO_ERROR 没有发生错误
PREG_INTERNAL_ERROR 评估表达式时出错
PREG_BACKTRACK_LIMIT_ERROR 评估表达式所需的回溯次数超过了PHP配置中指定的限制
PREG_RECURSION_LIMIT_ERROR 计算表达式所需的递归深度超出了PHP配置中给出的限制
PREG_BAD_UTF8_ERROR 输入的字符串包含无效的UTF-8数据
PREG_BAD_UTF8_OFFSET_ERROR 评估期间,字符串偏移量未指向多字节UTF-8符号的第一个字符
PREG_JIT_STACKLIMIT_ERROR 尝试评估表达式时,JIT编译器的堆栈内存不足

句法

preg_last_error()

技术细节

返回值: 返回最近求值的正则表达式的错误代码
PHP版本: 5.2.0+

Reg PHP RegExp参考