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 正則表示式參考