Sommaire
Expressions régulières compatibles Perl
preg_match
preg_match_all
preg_replace
preg_replace_callback
preg_split
preg_quote
preg_grep
options de recherche
syntaxe des masques
|
6.85.1 preg_match[ Exemples avec preg_match ] PHP 3>= 3.0.9, PHP 4 >= 4.0.0Description
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).
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."; ?>
| 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é."; } ?>
| 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.
|