(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
fnmatch — Teste un nom de fichier au moyen d'un masque de recherche
$pattern
, string $filename
, int $flags
= 0): bool
fnmatch() vérifie si la chaîne filename
va passer le masque Shell pattern
.
pattern
Le masque Shell.
filename
La chaîne testée. Cette fonction est particulièrement utile pour les noms de fichier, mais peut également être utilisée sur des chaînes régulières.
L'utilisateur moyen de Shell peut être familier avec les masques Shell,
ou tout au moins, leurs expressions les plus simples, comme '?'
et
'*'
. De cette façon, utiliser
fnmatch() au lieu de
preg_match() pour des recherches peut être plus
pratique pour les non-initiés.
flags
La valeur de flags
peut être une combinaison
des drapeaux suivants, joins avec l'
opérateur binaire OR (|).
Flag |
Description |
---|---|
FNM_NOESCAPE |
Désactive l'échappement des antislashes. |
FNM_PATHNAME |
Un slash dans une chaîne correspond uniquement à un slash dans le masque fourni. |
FNM_PERIOD |
Un point en début de chaîne doit correspondre exactement à un point dans le masque fourni. |
FNM_CASEFOLD |
Les correspondances ne tiennent pas compte de la casse. Fait parti de l'extension GNU. |
Retourne true
s'il y a des résultats, false
sinon.
Exemple #1 Vérifier le nom d'une couleur avec un masque Shell
<?php
if (fnmatch("*gr[ae]y", $color)) {
echo "des formes de gris ...";
}
?>
Actuellement, cette fonction n'est pas disponible pour les systèmes non-POSIX, à l'exception de Windows.