208 of 410 menu

Fonction preg_last_error

La fonction preg_last_error retourne le code de la dernière erreur, survenue lors de l'utilisation des fonctions pour les expressions régulières. Ceci est utile pour déboguer les expressions régulières lorsque des fonctions comme preg_match ou preg_replace retournent false. La fonction ne prend aucun paramètre.

La fonction retourne un code d'erreur entier. Pour plus de commodité, le code d'erreur peut être comparé à des constantes spéciales (voir le tableau ci-dessous).

Syntaxe

preg_last_error(): int;

Tableau des constantes d'erreur

Constante Valeur Description
PREG_NO_ERROR 0 Aucune erreur ne s'est produite
PREG_INTERNAL_ERROR 1 Erreur interne de PCRE
PREG_BACKTRACK_LIMIT_ERROR 2 Limite de backtracking dépassée (backtrack limit)
PREG_RECURSION_LIMIT_ERROR 3 Limite de récursion dépassée
PREG_BAD_UTF8_ERROR 4 Données UTF-8 incorrectes
PREG_BAD_UTF8_OFFSET_ERROR 5 Le décalage ne correspond pas au début d'un code UTF-8 valide
PREG_JIT_STACKLIMIT_ERROR 6 Limite de pile du compilateur JIT dépassée

Exemple

Vérifions l'erreur après une expression régulière incorrecte :

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

Résultat de l'exécution du code :

4

Exemple

Utilisation avec les constantes d'erreur PCRE :

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

Résultat de l'exécution du code :

'Backtrack limit was exhausted'

Voir aussi

  • la fonction preg_match,
    qui effectue une recherche avec une expression régulière
  • la fonction preg_replace,
    qui effectue un remplacement avec une expression régulière
  • la fonction preg_quote,
    qui échappe les caractères spéciaux dans les expressions régulières
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser