Astuce :
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 rationnelles sont utilisées pour de complexes
manipulations sur les chaînes de caractères.
PHP utilise les expressions rationnelles
avancées de POSIX (POSIX 1003.2). Pour avoir tous les détails
sur ces expressions, reportez-vous aux pages de manuel
incluses 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.
Ne changez pas la valeur de TYPE Ã moins que vous ne sachiez ce que vous
faites.
Pour activer le support des expressions rationnelles en PHP
vous devez compiler PHP avec l'option
--with-regex[=TYPE]. TYPE peut prendre l'une
des valeurs suivantes :
"system", "apache", "php". La valeur par défaut est "php".
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.
<?php /* Retourne &true; si "abc" est trouvé quelque part dans la chaîne $string. */ ereg ("abc", $string);
/* Retourne &true; si "abc" est trouvé au début de la chaîne $string. */ ereg ("^abc", $string);
/* Retourne &true; si "abc" est trouvé Ã la fin de la chaîne $string. */ ereg ("abc$", $string);
/* Retourne &true; si le client est Netscape 2, 3 ou MSIE 3. */ eregi ("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);
/* Recherche trois mots séparés par des espaces dans les chaînes $regs[1], $regs[2] et $regs[3]. */ ereg ("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string,$regs);
/* Insère une balise <br /> au début de la chaîne $string. */ $string = ereg_replace ("^", "<br />", $string);
/* Insère une balise <br /> Ã la fin de la chaîne $string. */ $string = ereg_replace ("$", "<br />", $string);
/* Supprime toutes les nouvelles lignes de $string. */ $string = ereg_replace ("\n", "", $string);
Pour des expressions rationnelles compatibles Perl, voyez l'extension
PCRE. Les commandes de recherche plus
simples (avec support des caractères jokers) sont fournies par la fonction
fnmatch().
Table des matières
ereg_replace -- Remplacement par expression rationnelle