208 of 410 menu

Funzione preg_last_error

La funzione preg_last_error restituisce il codice dell'ultimo errore, verificatosi durante l'utilizzo delle funzioni per le espressioni regolari. È utile per il debug delle espressioni regolari, quando funzioni come preg_match o preg_replace restituiscono false. La funzione non accetta parametri.

La funzione restituisce un codice di errore intero. Per comodità, è possibile confrontare il codice di errore con delle costanti speciali (vedi la tabella sottostante).

Sintassi

preg_last_error(): int;

Tabella con le costanti di errore

Costante Valore Descrizione
PREG_NO_ERROR 0 Nessun errore verificatosi
PREG_INTERNAL_ERROR 1 Errore interno di PCRE
PREG_BACKTRACK_LIMIT_ERROR 2 Superato il limite di backtracking (backtrack limit)
PREG_RECURSION_LIMIT_ERROR 3 Superato il limite di ricorsione
PREG_BAD_UTF8_ERROR 4 Dati UTF-8 non validi
PREG_BAD_UTF8_OFFSET_ERROR 5 L'offset non corrisponde all'inizio di un codice UTF-8 valido
PREG_JIT_STACKLIMIT_ERROR 6 Superato il limite dello stack del compilatore JIT

Esempio

Controlliamo l'errore dopo un'espressione regolare non valida:

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

Risultato dell'esecuzione del codice:

4

Esempio

Utilizzo con le costanti di errore PCRE:

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

Risultato dell'esecuzione del codice:

'Backtrack limit was exhausted'

Vedi anche

  • la funzione preg_match,
    che esegue una ricerca con un'espressione regolare
  • la funzione preg_replace,
    che esegue una sostituzione con un'espressione regolare
  • la funzione preg_quote,
    che escape i caratteri speciali nelle espressioni regolari
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta