Функсияи preg_last_error
Функсияи preg_last_error рамзи охирин хаторо бармегардонад,
ки дар кор бо функсияҳои кор бо ибораҳои оддӣ рух додааст.
Ин барои ислоҳ кардани хатоҳои ибораҳои оддӣ муфид аст, вақте ки функсияҳо
монанд ба preg_match ё preg_replace false бармегардонанд.
Функсия ҳеҷ параметр қабул намекунад.
Функсия рамзи хатои адади бутунро бармегардонад. Барои осонӣ шумо метавонед рамзи хаторо бо константаҳои махсус (нигаред ба ҷадвали поёнӣ) муқоиса кунед.
Синтаксис
preg_last_error(): int;
Ҷадвал бо константаҳои хатогӣ
| Константа | Қимат | Тавсиф |
|---|---|---|
PREG_NO_ERROR |
0 | Ҳеҷ хатогӣ рух надодааст |
PREG_INTERNAL_ERROR |
1 | Хатогии дохилии PCRE |
PREG_BACKTRACK_LIMIT_ERROR |
2 | Лимити пайгирии ақиб (backtrack limit) аз ҳад зиёд шуд |
PREG_RECURSION_LIMIT_ERROR |
3 | Лисити рекурсия аз ҳад зиёд шуд |
PREG_BAD_UTF8_ERROR |
4 | Додаҳои UTF-8 нодуруст |
PREG_BAD_UTF8_OFFSET_ERROR |
5 | Ҷойгиршавӣ бо оғози рамзи дурусти UTF-8 мувофиқат намекунад |
PREG_JIT_STACKLIMIT_ERROR |
6 | Лисити стеки тарҷумон вақти иҷрои код (JIT) аз ҳад зиёд шуд |
Мисол
Хатогӣ пас аз ибораи оддии нодурустро месанҷем:
<?php
preg_match('/invalid(regex/', 'test');
$error_code = preg_last_error();
echo $error_code;
?>
Натиҷаи иҷрои код:
4
Мисол
Истифода бо константаҳои хатогӣ PCRE:
<?php
preg_match('/(?:\D+/', 'abc123');
if (preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR) {
echo 'Backtrack limit was exhausted';
}
?>
Натиҷаи иҷрои код:
'Backtrack limit was exhausted'
Ҳамчунин бубинед
-
функсияи
preg_match,
ки ҷустуҷӯ бо ибораи оддӣ иҷро мекунад -
функсияи
preg_replace,
ки ивазкунӣ бо ибораи оддӣ иҷро мекунад -
функсияи
preg_quote,
ки аломатҳои махсусро дар ибораҳои оддӣ экран мекунад