ფუნქცია 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,
რომელიც ეკრანიზებს სპეციალურ სიმბოლოებს რეგულარულ გამოსახულებებში