preg_match_all> <preg_grep
Last updated: Fri, 24 Feb 2012

preg_last_error

(PHP 5 >= 5.2.0)

preg_last_errorRetorna o código de erro da última regex PCRE executada

Descrição

int preg_last_error ( void )

Retorna o código de erro da última regex PCRE executada.

Exemplo #1 Exemplo da preg_last_error()

<?php

preg_match
('/(?:\D+|<\d+>)*[!?]/''foobar foobar foobar');

if (
preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print 
'Backtrack limit was exhausted!';
}

?>

O exemplo acima irá imprimir:

Backtrack limit was exhausted!

Valor Retornado

Retorna uma das seguintes constantes (explicadas nessa outra página):

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (veja também pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (veja também pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR (desde o PHP 5.3.0)



User Contributed Notes
preg_last_error
Omer
12-Feb-2011 07:22
here's the code to check for all errors
<?php
if (preg_last_error() == PREG_NO_ERROR) {
    print
'There is no error.';
}
else if (
preg_last_error() == PREG_INTERNAL_ERROR) {
    print
'There is an internal error!';
}
else if (
preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
    print
'Backtrack limit was exhausted!';
}
else if (
preg_last_error() == PREG_RECURSION_LIMIT_ERROR) {
    print
'Recursion limit was exhausted!';
}
else if (
preg_last_error() == PREG_BAD_UTF8_ERROR) {
    print
'Bad UTF8 error!';
}
else if (
preg_last_error() == PREG_BAD_UTF8_ERROR) {
    print
'Bad UTF8 offset error!';
}
?>
johan at bluemoonit dot net
24-May-2010 02:20
The above function pcre_error_deocde [sic] is not correct - not all of the used constants are errors constants. For example, when the error is actually PREG_BAD_UTF8_ERROR, the function outputs the text for PREG_SPLIT_OFFSET_CAPTURE.

preg_match_all> <preg_grep
Last updated: Fri, 24 Feb 2012