208 of 410 menu

Funcția preg_last_error

Funcția preg_last_error returnează codul ultimei erori, apărută în timpul lucrului cu funcțiile pentru expresii regulate. Aceasta este utilă pentru depanarea expresiilor regulate, când funcțiile precum preg_match sau preg_replace returnează false. Funcția nu acceptă parametri.

Funcția returnează un cod de eroare întreg. Pentru comoditate, codul de eroare poate fi comparat cu constante speciale (vezi tabelul de mai jos).

Sintaxă

preg_last_error(): int;

Tabel cu constantele de eroare

Constantă Valoare Descriere
PREG_NO_ERROR 0 Nu a apărut nicio eroare
PREG_INTERNAL_ERROR 1 Eroare internă PCRE
PREG_BACKTRACK_LIMIT_ERROR 2 Limita de backtracking a fost depășită (backtrack limit)
PREG_RECURSION_LIMIT_ERROR 3 Limita de recursivitate a fost depășită
PREG_BAD_UTF8_ERROR 4 Date UTF-8 incorecte
PREG_BAD_UTF8_OFFSET_ERROR 5 Offset-ul nu corespunde cu începutul unui cod UTF-8 corect
PREG_JIT_STACKLIMIT_ERROR 6 Limita stivei compilatorului JIT a fost depășită

Exemplu

Să verificăm eroarea după o expresie regulată incorectă:

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

Rezultatul executării codului:

4

Exemplu

Utilizarea cu constantele de eroare PCRE:

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

Rezultatul executării codului:

'Backtrack limit was exhausted'

Vedeți și

  • funcția preg_match,
    care efectuează căutare după expresie regulată
  • funcția preg_replace,
    care efectuează înlocuire după expresie regulată
  • funcția preg_quote,
    care ecranează caracterele speciale în expresiile regulate
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge