fnmatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fnmatchTeste un nom de fichier au moyen d'un masque de recherche

Description

fnmatch ( string $pattern , string $string [, int $flags = 0 ] ) : bool

fnmatch() vérifie si la chaîne string va passer le masque Shell pattern.

Liste de paramètres

pattern

Le masque Shell.

string

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

Liste des drapeaux possibles pour fnmatch()
Flag Description
FNM_NOESCAPE Désactive l'échappement des anti-slashes.
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.

Valeurs de retour

Retourne TRUE s'il y a des résultats, FALSE sinon.

Historique

Version Description
5.3.0 Cette fonction est maintenant disponible sous Windows.

Exemples

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 ...";
}
?>

Notes

Avertissement

Actuellement, cette fonction n'est pas disponible pour les systèmes non-POSIX, à l'exception de Windows.

Voir aussi

  • glob() - Recherche des chemins qui vérifient un masque
  • preg_match() - Effectue une recherche de correspondance avec une expression rationnelle standard
  • sscanf() - Analyse une chaîne à l'aide d'un format
  • printf() - Affiche une chaîne de caractères formatée
  • sprintf() - Retourne une chaîne formatée