fnmatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

fnmatchCompara un nombre de fichero con un patrón

Descripción

fnmatch ( string $pattern , string $string [, int $flags = 0 ] ) : bool

fnmatch() comprueba si el string pasado coincide con el comodín tipo shell pattern.

Parámetros

pattern

El patrón comodín tipo shell.

string

La cadena comprobada. Esta función es especialmente útil con nombres de fichero, pero también se puede usar con cadenas normales.

El usuario medio puede estar familiarizado con patrones tipo shell, o por lo menos con sus formas más sencillas de los comodines '?' y '*' por lo que usar fnmatch() en vez de preg_match() para el proceso de entrada de expresiones de búsqueda puede ser una forma más convenienete para ususarios no programadores.

flags

El valor de flags puede ser una combinación de las siguientes banderas, unidas por el operador binario OR (|).

Un lista de las posibles banderas para fnmatch()
Flag Descripción
FNM_NOESCAPE Deshabilita el escape de la barra invertida.
FNM_PATHNAME Una barra en la cadena sólo coincide con otra en el patrón dado.
FNM_PERIOD Un punto en la cadena debe coincidir exactamente con otro en el patrón dado.
FNM_CASEFOLD Comparación sensible a mayúsculas-minúsculas. Parte de la extensión GNU.

Valores devueltos

Devuelve TRUE si hay coincidencia, FALSE si no.

Historial de cambios

Versión Descripción
5.3.0 Esta función ahora está disponible en plataformas Windows.

Ejemplos

Ejemplo #1 Comprobar un adjetivo con un patrón comodín tipo shell

<?php
if (fnmatch("*o[bs]curo"$cadena)) {
  echo 
"alguna forma de oscuro ...";
}
?>

Notas

Advertencia

Por ahora esta función no está disponible en sistemas que no admiten POSIX excepto Windows.

Ver también

  • glob() - Buscar coincidencias de nombres de ruta con un patrón
  • preg_match() - Realiza una comparación con una expresión regular
  • sscanf() - Interpreta un string de entrada de acuerdo con un formato
  • printf() - Imprimir una cadena con formato
  • sprintf() - Devuelve un string formateado