 |

Les Expressions Régulières POSIX
Introduction
Les expressions régulières ou rationnelles POSIX, sont utilisées pour effectuer des manipulations complexes de chaînes de caractères.
- ereg() - (Retourne VRAI si la chaîne contient le motif.)
- ereg_replace() - (Remplace le motif à l'interieur de la chaîne par le nouveau motif.)
- eregi() - (Comme ereg() mais insensible à la casse.)
- eregi_replace() - (Comme ereg_replace() mais insensible à la casse.)
- split() - (Découpe la chaîne en sous-chaînes au moyen du séparateur.)
- spliti() - (Identique à split() mais insensible à la casse.)
- sql_regcase() - (Crée une expression rationnelle insensible à la casse à partir de la chaîne.)
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).
Voici les expressions POSIX et leurs équivalents.
| Les normes POSIX |
| Séquence | Equivalent | Description |
| [[:alnum:]] | [A-Za-Z0-9] | Caractères alphanumériques |
| [[:digit:]] | [0-9] | Caractères numériques |
| [[:blank:]] | [\x09] | Espaces ou tabulations |
| [[:lower:]] | [a-z] | Caractères en bas de casse |
| [[:upper:]] | [A-Z] | Caractères en capitales |
| [[:xdigit:]] | [0-9a-fA-F] | Caractères hexadécimaux |
| [[:punct:]] | [!-/:-@[-'{--] | Caractères de ponctuation |
| [[:space:]] | [\t\v\f] | Tout caractère d'espace |
| [[:cntrl:]] | [\x00-\x19\x7F] | Caractères de contrôle |
| [[:graph:]] | [!--] | Caractères affichables et imprimables |
| [[:print:]] | [--] | Caractères imprimables sauf caractères de contrôle |
| Début et fin de ligne |
| Signe | Description |
| ^ | Début de ligne, sauf quand le signe se trouve à l'intérieur de crochets. Il signifie alors une négation. |
| $ | Fin de ligne. |
Expressions régulières (exemples)
+ 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);
+ Introduit 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);
 |

|