Funksie preg_last_error
Die funksie preg_last_error gee die kode van die laaste fout terug,
wat tydens werk met funksies vir reguliere uitdrukkings ontstaan het.
Dit is nuttig vir die ontfouting van reguliere uitdrukkings, wanneer funksies
soos preg_match of preg_replace false teruggee.
Die funksie neem geen parameters aan nie.
Die funksie gee 'n heelgetal-foutkode terug. Vir gemak kan die foutkode met spesiale konstantes vergelyk word (sien tabel hieronder).
Sintaksis
preg_last_error(): int;
Tabel met foutkonstantes
| Konstant | Waarde | Beskrywing |
|---|---|---|
PREG_NO_ERROR |
0 | Geen fout het plaasgevind nie |
PREG_INTERNAL_ERROR |
1 | Interne PCRE-fout |
PREG_BACKTRACK_LIMIT_ERROR |
2 | Die agteruittoetslimiet (backtrack limit) is oorskry |
PREG_RECURSION_LIMIT_ERROR |
3 | Die rekursielimiet is oorskry |
PREG_BAD_UTF8_ERROR |
4 | Ongeldige UTF-8 data |
PREG_BAD_UTF8_OFFSET_ERROR |
5 | Die verskuiwing stem nie ooreen met die begin van 'n geldige UTF-8-kode nie |
PREG_JIT_STACKLIMIT_ERROR |
6 | Die JIT-samesteller-stapel limiet is oorskry |
Voorbeeld
Laat ons 'n fout na 'n ongeldige reguliere uitdrukking nagaan:
<?php
preg_match('/invalid(regex/', 'test');
$error_code = preg_last_error();
echo $error_code;
?>
Resultaat van kode-uitvoering:
4
Voorbeeld
Gebruik met PCRE-foutkonstantes:
<?php
preg_match('/(?:\D+/', 'abc123');
if (preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR) {
echo 'Backtrack limit was exhausted';
}
?>
Resultaat van kode-uitvoering:
'Backtrack limit was exhausted'
Sien ook
-
funksie
preg_match,
wat 'n soektog volgens 'n reguliere uitdrukking uitvoer -
funksie
preg_replace,
wat 'n vervanging volgens 'n reguliere uitdrukking uitvoer -
funksie
preg_quote,
wat spesiale karakters in reguliere uitdrukkings ontsnap