Manuel PHP
Précédent |  | Suivant

# preg_match

(3.0.9 - 3.0.18 only, PHP 4 >= 4.0.0)

preg_match -- Expression régulière standard.

## Description

``int preg_match` (string pattern, string subject [, array matches])`

preg_match() analyse `subject` pour trouver l'expression `pattern`.

Si `matches` est fourni, il sera rempli par les résultats de la recherche. $matches[0] contiendra le texte qui satisfait le masque complet, $matches[1] contiendra le texte qui satisfait la première parenthèse capturante, etc..

preg_match() retourne `TRUE` si la recherche réussit, et `FALSE` sinon (notamment en cas d'erreur).

Exemple 1. Extraction d'un numéro de page d'une chaîne.
    <?php
    if (preg_match("/page\s+#(\d+)/i", "Aller à la page numéro 9.", $parts))
        print "La page suivante est $parts[1]";
    else
        print "Page introuvable.";
    ?>

Exemple 2. Trouve le mot "web"
    <?php
    // \b, dans le masque, indique une limite de mot, de façon à ce que le mot
    // "web" uniquement soit repéré, et pas seulement des parties de mots comme
    // dans "webbing" ou "cobweb"
    if (preg_match ("/\bweb\b/i", "PHP est le meilleur langage de script du web.")) {
        print "Un mot a été trouvé.";
    } else {
        print "Un mot n'a pas été trouvé.";
    }
    if (preg_match ("/\bweb\b/i", "PHP est le meilleur langage de script pour les webagency.")) {
         print "Un mot a été trouvé.";
    } else {
        print "Un mot n'a pas été trouvé.";
    }
    ?>

Exemple 3. Lire un nom de domaine dans une URL
    <?php
    // repérer le nom de l'hôte dans l'URL
    preg_match("/^(http:\/\/)?([^\/]+)/i",
    "http://www.php.net/index.html", $matches);
    $host = $matches[2];
    // repérer les deux derniers segments du nom de l'hôte
    preg_match("/[^\.\/]+\.[^\.\/]+$/",$host,$matches);
    echo "Le nom de domaine est : ".$matches[0]."\n";
    ?>

Cet exemple va afficher : `Le nom de domaine est : php.net` Voir aussi preg_match_all(), preg_replace() et preg_split().

Précédent | Sommaire | Suivant
Expressions régulières compatibles Perl | Niveau supérieur | preg_match_all