gpt4 book ai didi

PHP 全局样式匹配

转载 作者:可可西里 更新时间:2023-10-31 22:19:39 25 4
gpt4 key购买 nike

为了简短起见,我编写了一个访问控制系统。

该系统的要求之一是通过将其与模式匹配来检查是否可以访问规范/规范化路径。

首先想到的是 PREG,问题是,模式是基于文件的,即类似于 glob() 接受的模式。基本上,它只是包含 ?(匹配一个任意字符)或 *(匹配任何字符)的模式。

所以简单来说,我需要在 PHP 上重新创建 glob() 的匹配功能。

示例代码:

function path_matches($path, $pattern){
// ... ?
}

path_matches('path/index.php', 'path/*'); // true
path_matches('path2/', 'path/*'); // false
path_matches('path2/test.php', 'path2/*.php'); // true

一个可能的解决方案是将 $pattern 转换为正则表达式而不是使用 preg_match(),还有其他方法吗?

注意:我不能使用正则表达式的原因是模式将由非程序员编写。

最佳答案

使用fnmatch() ,这似乎可以解决问题。

关于PHP 全局样式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com