Funkcija preg_last_error
Funkcija preg_last_error vrne kodo zadnje napake,
ki se je pojavila pri delu s funkcijami za delo z regularnimi izrazi.
To je uporabno za odpravljanje napak regularnih izrazov, ko funkcije
kot preg_match ali preg_replace vrnejo false.
Funkcija ne sprejema parametrov.
Funkcija vrne celoštevilsko kodo napake. Za udobje lahko kodo napake primerjate s posebnimi konstantami (glej tabelo spodaj).
Sintaksa
preg_last_error(): int;
Tabela s konstantami napak
| Konstanta | Vrednost | Opis |
|---|---|---|
PREG_NO_ERROR |
0 | Ni prišlo do napak |
PREG_INTERNAL_ERROR |
1 | Notranja napaka PCRE |
PREG_BACKTRACK_LIMIT_ERROR |
2 | Presežena omejitev povratnega sledenja (backtrack limit) |
PREG_RECURSION_LIMIT_ERROR |
3 | Presežena omejitev rekurzije |
PREG_BAD_UTF8_ERROR |
4 | Nepravilni UTF-8 podatki |
PREG_BAD_UTF8_OFFSET_ERROR |
5 | Odmik ne ustreza začetku veljavne kode UTF-8 |
PREG_JIT_STACKLIMIT_ERROR |
6 | Presežena omejitev sklada JIT-prevajalnika |
Primer
Preverimo napako po nepravilnem regularnem izrazu:
<?php
preg_match('/invalid(regex/', 'test');
$error_code = preg_last_error();
echo $error_code;
?>
Rezultat izvajanja kode:
4
Primer
Uporaba s konstantami napak PCRE:
<?php
preg_match('/(?:\D+/', 'abc123');
if (preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR) {
echo 'Backtrack limit was exhausted';
}
?>
Rezultat izvajanja kode:
'Backtrack limit was exhausted'
Glejte tudi
-
funkcijo
preg_match,
ki izvede iskanje po regularnem izrazu -
funkcijo
preg_replace,
ki izvede zamenjavo po regularnem izrazu -
funkcijo
preg_quote,
ki escapira posebne znake v regularnih izrazih