dyn*_*mic 30 php regex string-matching
我想给字符串和通配符匹配的可能性*.
例
$mystring = 'dir/folder1/file';
$pattern = 'dir/*/file';
stringMatchWithWildcard($mystring,$pattern); //> Returns true
Run Code Online (Sandbox Code Playgroud)
例2:
$mystring = 'string bl#abla;y';
$pattern = 'string*y';
stringMatchWithWildcard($mystring,$pattern); //> Returns true
Run Code Online (Sandbox Code Playgroud)
我想的是:
function stringMatch($source,$pattern) {
$pattern = preg_quote($pattern,'/');
$pattern = str_replace( '\*' , '.*?', $pattern); //> This is the important replace
return (bool)preg_match( '/^' . $pattern . '$/i' , $source );
}
Run Code Online (Sandbox Code Playgroud)
基本上,更换*到.*?(考虑*nix环境*相匹配empty的字符串) ©vbence
任何改进/暗示?
//添加return (bool)因为preg_match返回int