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';
}
?>
정의 및 사용
이 preg_last_error()
함수는 가장 최근에 평가된 정규식에 대한 오류 코드를 반환합니다. 반환된 값은 다음 상수 중 하나와 일치합니다.
Constant | Description |
---|---|
PREG_NO_ERROR | No error occurred |
PREG_INTERNAL_ERROR | There was an error evaluating the expression |
PREG_BACKTRACK_LIMIT_ERROR | The number of backtracks needed to evaluate the expression exceeded the limit given in PHP's configuration |
PREG_RECURSION_LIMIT_ERROR | The recursion depth needed to evaluate the expression exceeded the limit given in PHP's configuration |
PREG_BAD_UTF8_ERROR | The input string contained invalid UTF-8 data |
PREG_BAD_UTF8_OFFSET_ERROR | During evaluation, a string offset did not point to the first character of a multibyte UTF-8 symbol |
PREG_JIT_STACKLIMIT_ERROR | The JIT compiler ran out of stack memory when trying to evaluate the expression |
통사론
preg_last_error()
기술적 세부 사항
반환 값: | 가장 최근에 평가된 정규식에 대한 오류 코드를 반환합니다. |
---|---|
PHP 버전: | 5.2.0+ |
❮ PHP RegExp 참조