Forum und email

Expressions rationnelles

Introduction

Tip

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.

Warning

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.

Pré-requis

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

Installation

Warning

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.

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é-définies

Cette extension ne définit aucune constante.

Exemples

Example#1 Expressions rationnelles

<?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);

?>

Voir aussi

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 of Contents

  • ereg_replace — Remplacement par expression rationnelle
  • ereg — Expression rationnelle standard
  • eregi_replace — Remplacement par expression rationnelle insensible à la casse
  • eregi — Recherche par expression rationnelle insensible à la casse
  • split — Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • spliti — Scinde une chaîne en un tableau, grâce à une expression rationnelle
  • sql_regcase — Prépare une expression rationnelle pour effectuer une recherche insensible à la casse