208 of 410 menu

Funkcja preg_last_error

Funkcja preg_last_error zwraca kod ostatniego błędu, który wystąpił podczas pracy z funkcjami do obsługi wyrażeń regularnych. Jest to przydatne do debugowania wyrażeń regularnych, gdy funkcje jak preg_match lub preg_replace zwracają false. Funkcja nie przyjmuje parametrów.

Funkcja zwraca całkowity kod błędu. Dla wygody można porównywać kod błędu ze specjalnymi stałymi (patrz tabela poniżej).

Składnia

preg_last_error(): int;

Tabela ze stałymi błędów

Stała Wartość Opis
PREG_NO_ERROR 0 Nie wystąpił żaden błąd
PREG_INTERNAL_ERROR 1 Wewnętrzny błąd PCRE
PREG_BACKTRACK_LIMIT_ERROR 2 Przekroczony limit śledzenia wstecznego (backtrack limit)
PREG_RECURSION_LIMIT_ERROR 3 Przekroczony limit rekurencji
PREG_BAD_UTF8_ERROR 4 Nieprawidłowe dane UTF-8
PREG_BAD_UTF8_OFFSET_ERROR 5 Przesunięcie nie odpowiada początkowi prawidłowego kodu UTF-8
PREG_JIT_STACKLIMIT_ERROR 6 Przekroczony limit stosu kompilatora JIT

Przykład

Sprawdźmy błąd po nieprawidłowym wyrażeniu regularnym:

<?php preg_match('/invalid(regex/', 'test'); $error_code = preg_last_error(); echo $error_code; ?>

Wynik wykonania kodu:

4

Przykład

Użycie ze stałymi błędów PCRE:

<?php preg_match('/(?:\D+/', 'abc123'); if (preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR) { echo 'Backtrack limit was exhausted'; } ?>

Wynik wykonania kodu:

'Backtrack limit was exhausted'

Zobacz też

  • funkcję preg_match,
    która wykonuje wyszukiwanie według wyrażenia regularnego
  • funkcję preg_replace,
    która wykonuje zamianę według wyrażenia regularnego
  • funkcję preg_quote,
    która escapuje specjalne znaki w wyrażeniach regularnych
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć