Funksiya preg_last_error
Funksiya preg_last_error regular ifadələrlə işləyən funksiyaların
işləməsi zamanı yaranan son xətanın kodunu qaytarır.
Bu, preg_match və ya preg_replace kimi funksiyalar
false qaytardıqda regular ifadələri saxlamaq üçün faydalıdır.
Funksiya heç bir parametr qəbul etmir.
Funksiya tam ədəd xəta kodu qaytarır. Rahatlıq üçün xəta kodunu xüsusi sabitlərlə müqayisə etmək olar (aşağıdakı cədvələ baxın).
Sintaksis
preg_last_error(): int;
Xəta sabitləri cədvəli
| Sabit | Dəyər | Təsvir |
|---|---|---|
PREG_NO_ERROR |
0 | Xəta baş vermədi |
PREG_INTERNAL_ERROR |
1 | PCRE daxili xətası |
PREG_BACKTRACK_LIMIT_ERROR |
2 | Geri izləmə limiti aşıldı (backtrack limit) |
PREG_RECURSION_LIMIT_ERROR |
3 | Rekursiya limiti aşıldı |
PREG_BAD_UTF8_ERROR |
4 | Səhv UTF-8 məlumatı |
PREG_BAD_UTF8_OFFSET_ERROR |
5 | Ofset düzgün UTF-8 kodunun başlanğıcına uyğun gəlmir |
PREG_JIT_STACKLIMIT_ERROR |
6 | JIT kompilyatorunun yığın limiti aşıldı |
Nümunə
Səhv regular ifadədən sonra xətanı yoxlayaq:
<?php
preg_match('/invalid(regex/', 'test');
$error_code = preg_last_error();
echo $error_code;
?>
Kodun icrasının nəticəsi:
4
Nümunə
PCRE xəta sabitləri ilə istifadə:
<?php
preg_match('/(?:\D+/', 'abc123');
if (preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR) {
echo 'Backtrack limit was exhausted';
}
?>
Kodun icrasının nəticəsi:
'Backtrack limit was exhausted'
Həmçinin baxın
-
funksiyanı
preg_match,
regular ifadəyə görə axtarış edir -
funksiyanı
preg_replace,
regular ifadəyə görə əvəzetmə edir -
funksiyanı
preg_quote,
regular ifadələrdə xüsusi simvolları qoruyur