XCII. Expressions régulières

Introduction

Note : PHP supporte aussi des expressions rationnelles compatibles Perl, avec l'extension PCRE functions. Ces fonctions supportent des recherches non-gourmandes, des assertions, des sous-masques conditionnels et toute une gamme de fonctionnalités absentes des expressions rationnelles POSIX.

Avertissement

Ces expressions rationnelles ne sont pas compatibles avec les données binaires. Les expressions PCRE le sont.

Les expressions régulières sont utilisées pour effectuer des manipulations complexes de chaînes de caractères. Les fonctions sont :

Ces fonctions requièrent toutes une expression régulière comme premier argument. PHP utilise les expressions régulières avancées de POSIX (POSIX 1003.2). Pour avoir tous les détails sur ces expressions, reportez vous aux pages de manuel inclues dans le répertoire de la distribution PHP. Elles sont au format manpage : pour les lire, vous devrez utiliser la ligne de commande man /usr/local/src/regex/regex.7.

Pré-requis

Ces fonctions sont disponibles dans le module PHP standard, qui est toujours accessible.

Installation

Pour activer le support des expressions régulières en PHP vous devez compiler PHP avec l'option --with-regex=TYPE. TYPE peut prendre l'une des valeurs suiavntes : "system","apache","php". La valeur par défaut est "php".

Note : Ne changez pas la valeur de TYPE à moins que vous ne sachiez ce que vous faîtes.

La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de librairie supplémentaire pour disposer de ces fonctions.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes prédefinies

Cette extension ne définit aucune constante.

Exemples

Exemple 1. Expressions régulières

<?php
ereg
("abc", $string);            
/* Retourne &true; si "abc"
   est trouv&eacute; quelque part dans la cha&icirc;ne $string. */

ereg ("^abc", $string);
/* Retourne &true; si  "abc"
   est trouv&eacute; au d&eacute;but de la cha&icirc;ne $string. */

ereg ("abc$", $string);
/* Retourne &true; si  "abc"
   est trouv&eacute; &agrave; la fin de la cha&icirc;ne  $string. */

eregi ("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);  
/* Retourne &true; si  le client
   est Netscape 2, 3 ou MSIE 3. */

ereg ("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string,$regs);
/* Recherche trois mots s&eacute;par&eacute;s par des espaces
   dans les cha&icirc;nes $regs[1], $regs[2] et $regs[3]. */

$string = ereg_replace ("^", "<br />", $string);
/* Ins&egrave;re une balise <br /> au d&eacute;but de la cha&icirc;ne $string. */

$string = ereg_replace ("$", "<br />", $string);
/* Ins&egrave;re une balise <br /> &agrave; la fin de la cha&icirc;ne $string. */

$string = ereg_replace ("\n", "", $string);
/* Supprime toutes les nouvelles lignes de $string. */
?>

Voir aussi

Pour des expressions rationnelles compatibles Perl, voyez l'extension PCRE. Les commandes de recherches plus simples (avec support des caractères jokers) sont fournis par la fonction fnmatch().

Table des matières
ereg_replace -- Remplacement par expression régulière
ereg -- Expression régulière standard
eregi_replace --  Remplacement par expression régulière insensible à la casse.
eregi --  Recherche par expression régulière insensible à la casse
split --  Scinde une chaîne en un tableau, grâce à une expression régulière.
spliti --  Scinde une chaîne en un tableau, grâce à une expression régulière
sql_regcase --  Prépare une expression régulière pour effectuer une recherche insensible à la casse.