preg_last_error
Renvoie le code d'erreur généré par la dernière exécution régulière du PCRE
preg_last_error()
renvoie le code d'erreur pour l'expression régulière récemment évaluée. La valeur retournée correspondra à l'une des constantes suivantes:
constante | décrire |
---|---|
Preg_no_error | Aucune erreur ne s'est produite. |
Preg_internal_error | Une erreur s'est produite lors de l'évaluation de l'expression. |
Preg_backtrack_limit_error | Le nombre de contactions nécessaires pour évaluer une expression dépasse la limite donnée dans la configuration PHP. |
Preg_recursion_limit_error | La profondeur de récursivité requise pour évaluer une expression dépasse les limites données dans la configuration PHP. |
Preg_bad_utf8_error | La chaîne d'entrée contient des données UTF-8 non valides. |
Preg_bad_utf8_offset_error | Pendant l'évaluation, le décalage de la chaîne ne pointe pas vers le premier caractère du symbole UTF-8 multi-octe. |
Preg_jit_stacklimit_error | Le compilateur JIT épuise la mémoire de pile lorsque vous essayez d'évaluer les expressions. |
Utilisez preg_last_error()
pour gérer les erreurs:
<? Php $ str = 'Cette expression régulière n'est pas valide. ' ;; $ Pattern = '/ invalid //' ; $ match = @ preg_match ( $ Pattern , $ str , $ correspond ) ; if ( $ correspond === false ) { // Une erreur s'est produite $ err = preg_last_error ( ) ; if ( $ err == preg_internal_error ) { Echo 'Regex n'est pas valide. ' ;; } } else if ( $ correspond ) { // trouve un match Echo $ correspond [ 0 ] ; } autre { // Aucun match trouvé écho «aucun match trouvé» ; } ?>
preg_last_error ( )