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é 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. */
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éparés par des espaces dans les chaînes $regs[1], $regs[2] et $regs[3]. */
$string = ereg_replace ("^", "<br />", $string); /* 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 ("\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().