Fonction preg_last_error_msg

La fonction preg_last_error_msg retourne un message lisible par un humain concernant la dernière erreur survenue lors de l'utilisation des fonctions pour les expressions régulières. C'est une alternative pratique à la fonction preg_last_error, qui ne retourne qu'un code d'erreur.

Syntaxe

phppreg_last_error_msg(): string

Exemple

Essayons d'exécuter une expression régulière incorrecte et d'obtenir le message d'erreur :

php<?php
  preg_match('/invalid(regex/', 'test string');
  echo preg_last_error_msg();
?>

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

php'No ending matching delimiter found'

Exemple

Vérifions le message d'erreur lors du dépassement de la limite de backtrack :

php<?php
  ini_set('pcre.backtrack_limit', 1);
  preg_match('/(\d+)+$/', str_repeat('1', 1000));
  echo preg_last_error_msg();
?>

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

php'Backtrack limit exhausted'

Voir aussi

  • la fonction preg_last_error,
    qui retourne le code de la dernière erreur PCRE
  • la fonction preg_match,
    qui effectue une recherche avec une expression régulière