PHP preg_last_error() 函数
示例
使用 preg_last_error() 处理错误
<?php
$str = '正则表达式无效。';
$pattern = '/invalid//';
$match = @preg_match($pattern, $str, $matches);
if($match === false) {
  // 发生错误
  $err = preg_last_error();
  if($err == PREG_INTERNAL_ERROR) {
    echo '正则表达式无效。';
  }
} else if($match) {
  // 找到匹配项
  echo $matches[0];
} else {
  // 未找到匹配项
  echo '未找到匹配项';
}
?>
定义和用法
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+ | 
❮ PHP 正则表达式参考
 
