牛牛在线工具

fnmatch()

收录 8868 个 PHP 函数,含用途说明与用法示例。

fnmatch()

使用模式匹配来比较字符串

函数名称:fnmatch() 适用版本:PHP 4, PHP 5, PHP 7 函数说明:fnmatch() 函数用于使用模式匹配来比较字符串。它类似于 Unix shell 的文件名匹配规则。 语法:bool fnmatch(string $pattern, string $string[, int $flags = 0]) 参数: $pattern:要匹配的模式,可以包含通配符字符 *(匹配任何字符序列)和 ?(匹配任何单个字符)。 $string:要与模式进行比较的字符串。 $flags(可选):可以是以下常量的组合: FNM_NOESCAPE:禁用反斜杠转义。 FNM_PATHNAME:要求模式匹配整个路径。 FNM_PERIOD:在模式的开头必须出现句点才能匹配。 返回值:如果 $string 匹配 $pattern,则返回 true,否则返回 false。 示例1: $pattern = "*.txt"; // 匹配以 .txt 结尾的文件名 $string = "file.txt"; if (fnmatch($pattern, $string)) { echo "匹配成功"; } else { echo "匹配失败"; } 输出: 匹配成功 示例2: $pattern = "image*.jpg"; // 匹配以 image 开头,以 .jpg 结尾的文件名 $string = "image123.jpg"; if (fnmatch($pattern, $string)) { echo "匹配成功"; } else { echo "匹配失败"; } 输出: 匹配成功 注意事项: fnmatch() 函数区分大小写,如果需要进行大小写不敏感的匹配,可以使用 strcasecmp() 函数进行比较。 $pattern 中的通配符字符 * 和 ? 可以出现在任何位置,也可以使用多个。例如,"*.txt" 匹配以 .txt 结尾的文件名,"file?.txt" 匹配类似 "file1.txt"、"fileA.txt" 的文件名。 $flags 参数可以控制模式匹配的一些行为,例如是否需要整个路径匹配、是否需要以句点开头等。 fnmatch() 函数在匹配过程中会自动处理反斜杠转义,如果不需要转义,可以使用 FNM_NOESCAPE 标志禁用转义。