(PHP 4 >= 4.3.0, PHP 5)
fnmatch — 用模式匹配文件名
說明
bool fnmatch ( string$pattern
, string $string
[, int $flags
= 0
] )
fnmatch()
檢查傳入的
string
是否匹配給出的 shell 統配符
pattern
。
參數
pattern
shell 統配符。
string
要檢查的字符串。 此函數對于文件名尤其有用,但也可以用于普通的字符串。
普通用戶可能習慣于 shell 模式或者至少其中最簡單的形式 '?' 和 '*' 通配符,因此使用 fnmatch() 來代替 preg_match() 來進行前端搜索表達式輸入對于非程序員用戶更加方便。
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 此函數開始在 Windows 平臺上生效。
范例
Example #1 用 shell 中的通配符模式匹配來檢查顏色名稱
<?php
if (fnmatch("*gr[ae]y", $color)) {
echo "some form of gray ...";
}
?>
注釋
Warning目前該函數無法在 Windows 或其它非 POSIX 兼容的系統上使用。
參見
glob() - 尋找與模式匹配的文件路徑 preg_match() - 執行一個正則表達式匹配 sscanf() - 根據指定格式解析輸入的字符 printf() - 輸出格式化字符串 sprintf() - Return a formatted string