= 4.3.0, PHP 5, PHP 7, PHP 8)fnmatch — 用模式匹配文件名說明fnmatch(string $pattern, string $string, int $flags = 0): boolfnmatch() 檢查傳入的 string 是">

fnmatch

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

fnmatch用模式匹配文件名

說明

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

fnmatch() 檢查傳入的 string 是否匹配給出的 shell 統(tǒng)配符 pattern。

參數(shù)

pattern

shell 統(tǒng)配符。

string

要檢查的字符串。 此函數(shù)對于文件名尤其有用,但也可以用于普通的字符串。

普通用戶可能習(xí)慣于 shell 模式或者至少其中最簡單的形式 '?''*' 通配符,因此使用 fnmatch() 來代替 preg_match() 來進(jìn)行前端搜索表達(dá)式輸入對于非程序員用戶更加方便。

flags

The value of flags can be any combination of the following flags, joined with the binary OR (|) operator.

A list of possible flags for fnmatch()
Flag Description
FNM_NOESCAPE Disable backslash escaping.
FNM_PATHNAME Slash in string only matches slash in the given pattern.
FNM_PERIOD Leading period in string must be exactly matched by period in the given pattern.
FNM_CASEFOLD Caseless match. Part of the GNU extension.

返回值

匹配則返回 true,否則返回 false

更新日志

版本 說明
5.3.0 此函數(shù)開始在 Windows 平臺上生效。

范例

示例 #1 用 shell 中的通配符模式匹配來檢查顏色名稱

<?php
if (fnmatch("*gr[ae]y"$color)) {
  echo 
"some form of gray ...";
}
?>

注釋

警告

目前該函數(shù)無法在 Windows 或其它非 POSIX 兼容的系統(tǒng)上使用。

參見

  • glob() - 尋找與模式匹配的文件路徑
  • preg_match() - 執(zhí)行匹配正則表達(dá)式
  • sscanf() - 根據(jù)指定格式解析輸入的字符
  • printf() - 輸出格式化字符串
  • sprintf() - 返回格式化字符串