PHP preg_last_error() Function

❮ PHP RegExp Reference

Example

Use preg_last_error() to handle errors:

<?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';
}
?>

Definition and Usage

The preg_last_error() function returns an error code for the most recently evaluated regular expression. The returned value will match one of the following constants:

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

Syntax

preg_last_error()

Technical Details

Return Value: Returns an error code for the most recently evaluated regular expression
PHP Version: 5.2.0+

❮ PHP RegExp Reference
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.