downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

preg_match_all> <preg_grep
Last updated: Fri, 12 Mar 2010

view this page in

preg_last_error

(PHP 5 >= 5.2.0)

preg_last_errorReturns the error code of the last PCRE regex execution

Description

int preg_last_error ( void )

Returns the error code of the last PCRE regex execution.

Example #1 preg_last_error() example

<?php

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

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

?>

The above example will output:

Backtrack limit was exhausted!

Return Values

Returns one of the following constants (explained on their own page):

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (see also pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (see also pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR (since PHP 5.3.0)



add a note add a note User Contributed Notes
preg_last_error
eleg
18-Mar-2010 03:30
function pcre_error_decode() {
    $constants = get_defined_constants(true);
    $pcre_errors = array_flip($constants[pcre]);

    if(array_key_exists(preg_last_error(),$pcre_errors))
        echo 'pcre error : '.$pcre_errors[preg_last_error()];
    else
        echo 'unknown pcre error';
}
luky37
06-Jan-2009 08:44
the following function decodes this message for you:

<?php
function pcre_error_deocde() {
    switch (
preg_last_error()) {
        case
PREG_NO_ERROR:
            print
"pcre_error: PREG_NO_ERROR!\n";
            break;
        case
PREG_INTERNAL_ERROR:
            print
"pcre_error: PREG_INTERNAL_ERROR!\n";
            break;
        case
PREG_BACKTRACK_LIMIT_ERROR:
            print
"pcre_error: PREG_BACKTRACK_LIMIT_ERROR!\n";
            break;
        case
PREG_RECURSION_LIMIT_ERROR:
            print
"pcre_error: PREG_RECURSION_LIMIT_ERROR!\n";
            break;
        case
PREG_BAD_UTF8_ERROR:
            print
"pcre_error: PREG_BAD_UTF8_ERROR!\n";
            break;
        case
PREG_BAD_UTF8_OFFSET_ERROR:
            print
"pcre_error: PREG_BAD_UTF8_OFFSET_ERROR!\n";
            break;
    }
}
?>

preg_match_all> <preg_grep
Last updated: Fri, 12 Mar 2010
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites