PHP preg_last_error() 函数
实例
使用 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';
}
?>
$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';
}
?>
定义和用法
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+ |