Forum und email

ereg

(PHP 4, PHP 5)

ereg — Expression rationnelle standard

Description

int ereg ( string $pattern , string $string [, array &$regs ] )

Note: preg_match(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg().

ereg() recherche dans la chaîne string les séquences de caractères qui correspondent au masque pattern , en tenant compte de la casse.

Si au moins une séquence est trouvée (éventuellement dans les parenthèses capturantes de pattern ), et que la fonction est appelée avec un troisième argument regs , les résultats seront enregistrés dans regs . $regs[1] contiendra la première parenthèse capturante (celle qui commence le plus tôt), $regs[2] contiendra la deuxième parenthèse capturante (celle qui commence après la première), et ainsi de suite. $regs[0] contient une copie de la chaîne.

Note: Pour les versions de PHP inférieures ou égales à 4.1.0, $regs sera rempli d'exactement dix éléments, même s'il y a plus ou moins de dix parenthèses capturantes. Cela n'a aucun effet sur ereg() pour chercher plus de sous-chaînes. Si aucun résultat n'est trouvé, $regs ne sera pas altéré par ereg().

ereg() retourne la longueur de l'occurrence trouvée si une occurrence a été trouvée dans la chaîne string et FALSE dans le cas contraire ou si une erreur est survenue. Si le paramètre optionnel regs n'est pas passé à la fonction ou si la longueur du paramètre string vaut 0, la fonction retournera 1.

L'exemple suivant prend une date au format ISO (YYYY-MM-DD) et l'affiche sous la forme DD.MM.YYYY :

Example#1 Exemple avec ereg()

<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"$date$regs)) {
    echo 
"$regs[3].$regs[2].$regs[1]";
} else {
    echo 
"Format de date invalide : $date";
}
?>

Voir aussi eregi(), preg_match(), ereg_replace(), eregi_replace(), strpos() et strstr().