Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.73 ">

preg_match

(PHP 3>= 3.0.9, PHP 4 )

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().