|
Table des matières
CXVIII. Expressions rationnelles compatibles PerlIntroductionLa syntaxe des masques utilisés dans ces fonctions ressemble fort à celle de Perl. Les expressions seront entourées de délimiteurs, slash (/), par exemple. N’importe quel caractère peut servir de délimiteur, tant qu’il n’est pas alpha-numérique ou n’est pas un anti-slash (\). Si un délimiteur doit être utilisé dans l’expression, il faudra l’échapper avec un anti-slash. Depuis PHP 4.0.4, vous pouvez utiliser les délimiteurs (), {}, [], et <>, comme en Perl. Voir la syntaxe des masques pour plus d’explications. Le délimiteur final peut être suivi d’options qui affecteront la recherche. Voir aussi options de recherche. PHP supporte également les expressions rationnelles utilisant la syntaxe POSIX étendue (fonctions REGEX POSIX-extended).
Pré-requisCes fonctions sont disponibles dans le module PHP standard, qui est toujours accessible. InstallationÀ partir de PHP 4.2.0, ces fonctions sont activées par défaut. Pour les anciennes versions, vous devez configurer et compiler PHP avec l’option “–with-pcre-regex” afin de pouvoir les utiliser. Utilisez " –with-pcre-regex=DIR” pour spécifier le répertoire où la bibliothèque PCRE est installée si vous n’utilisez pas la bibliothèque incluse dans PHP. Pour les versions plus anciennes de PHP, vous devez configurer et compiler PHP avec “–with-pcre-regex[=DIR]” pour pouvoir utiliser ces fonctions. La version Windows de PHP dispose du support automatique de cette extension. Vous n’avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions. Configuration à l'exécutionLe comportement de ces fonctions est affecté par la configuration dans le fichier “php.ini”. Tableau 1. Options de configuration PCRE
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Annexe G. Voici un éclaircissement sur l’utilisation des directives de configuration. “pcre.backtrack_limit” entier PCRE’s backtracking limit. “pcre.recursion_limit” entier Limite de récursivité PCRE. Notez que si vous définissez cette valeur à un nombre élevé, vous devriez consommer tous les processus disponibles et, éventuellement, faire crasher PHP (la taille limite de la pile imposée par le système sera atteinte). Types de ressourcesCette extension ne définit aucune ressource. Constantes pré-définiesCes constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l’exécution. Tableau 2. Constantes PREG
Exemples
* "/<\/\w+>/" * "|(\d{3})-\d+|Sm" * "/^(?i)php[34]/" * "{^\s+(\s+)?$}"
* "/href='(.*)'" - délimiteur final manquant * "/\w+\s*\w+/J" - option 'J' inconnue * "1-\d3-\d3-\d4|" - délimiteur initial manquant Table des matières options de recherche – Options disponibles pour les expressions rationnelles syntaxe des masques – Fonctionnement des expressions rationnelles preg_grep – Retourne un tableau avec les résultats de la recherchepreg_last_error – Retourne le code erreur de la dernière regex PCRE exécutéepreg_match_all – Expression rationnelle globalepreg_match – Expression rationnelle standardpreg_quote – Echappement des caractères spéciaux des expressions rationnelles preg_replace_callback – Rechercher/remplacer avec une expression rationnelle et fonction de callback preg_replace – Rechercher et remplacer par expression rationnelle standardpreg_split – Eclate une chaîne par expression rationnelle Travail collaboratifContribuez, en ajjoutant des elements a cette page de manuel : Merci de votre aide |