fnmatch
fnmatch
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
fnmatch - 将文件名与模式匹配
描述
bool fnmatch ( string $pattern , string $string [, int $flags = 0 ] )
fnmatch()
检查传递string
是否匹配给定的shell通配符pattern
。
参数
pattern
shell通配符模式。
string
被测试的字符串。此功能对文件名特别有用,但也可用于常规字符串。
普通用户可以用来模式化,或者至少用最简单的形式来'''
和'*'
通配符,所以对于非编程用户来说,使用fnmatch()
而不是preg_match()作为前端搜索表达式输入可能会更方便。
flags
值flags
可以是以下标志的任意组合,并用二进制OR(|)运算符连接。
标志 | 描述 |
---|---|
FNM_NOESCAPE | 禁用反斜杠转义。 |
FNM_PATHNAME | 斜杠字符串只匹配给定模式中的斜线。 |
FNM_PERIOD | 字符串中的前导段必须与给定模式中的句点完全匹配。 |
FNM_CASEFOLD | 无情的比赛。GNU扩展的一部分。 |
返回值
TRUE
如果匹配FALSE
则返回,否则返回。
更新日志
版 | 描述 |
---|---|
5.3.0 | 此功能现在可在Windows平台上使用。 |
例子
示例#1针对shell通配符模式检查颜色名称
<?php
if (fnmatch("*gr[ae]y", $color)) {
echo "some form of gray ...";
}
?>
注意
警告
目前,除了Windows以外,该功能在非POSIX兼容系统上不可用。