Quiero dar la posibilidad de unir la cadena con el comodín *
.cadena de php que coincide con comodín *?
Ejemplo
$mystring = 'dir/folder1/file';
$pattern = 'dir/*/file';
stringMatchWithWildcard($mystring,$pattern); //> Returns true
Ejemplo 2:
$mystring = 'string bl#abla;y';
$pattern = 'string*y';
stringMatchWithWildcard($mystring,$pattern); //> Returns true
pensé algo como:
function stringMatch($source,$pattern) {
$pattern = preg_quote($pattern,'/');
$pattern = str_replace('\*' , '.*?', $pattern); //> This is the important replace
return (bool)preg_match('/^' . $pattern . '$/i' , $source);
}
reemplazando Básicamente *
-.*?
(teniendo en *nix
ambiente *
partidos empty
cadena) © vbence
¿Alguna mejora/sugerencia?
// Agregado return (bool)
porque los rendimientos preg_match int
hola mario. fnmatches tiene alguna otra característica como '[]'. Solo necesito '*' como "char especial" – dynamic
fnmatch no es compatible con sistemas que no sean POSIX. (Veo que php5.3 + también es compatible con Windows ahora). Entonces esta no es siempre la mejor manera – Pinoniq