preg_match_all() es una función incorporada en PHP que se usa para hacer coincidir el patrón específico en una cadena. Puede usar esta función para realizar coincidencias de expresiones regulares y extraer datos de cadenas. Puede ahorrar tiempo y esfuerzo en los casos en que necesita buscar múltiples ocurrencias de un patrón y se usa ampliamente en aplicaciones de análisis de texto y extracción de datos de PHP.
Sintaxis
La siguiente es la sintaxis para usar el preg_match_all en PHP:
preg_match_all ( patrón , aporte , partidos , banderas , compensar )
El preg_match_all acepta los siguientes parámetros, tres son parámetros obligatorios y dos son opcionales:
- patrón : Es el parámetro obligatorio; contiene la expresión regular que necesita ser buscada.
- aporte : El segundo también es un parámetro obligatorio, ya que es la cadena en la que se realiza la búsqueda.
- partidos : Almacena la salida en la matriz que contiene todas las coincidencias.
- banderas : Describe cómo está estructurada la matriz de búsqueda o coincidencias. Modifica el comportamiento de la búsqueda de función. Se pueden utilizar las siguientes banderas:
- compensar : Es el parámetro opcional que especifica la posición inicial de la búsqueda.
Bandera | Descripción |
---|---|
PREG_PATRÓN_ORDEN | La matriz resultante tiene todas las coincidencias de una matriz para cada elemento de la expresión regular. |
PREG_SET_ORDER | Cada uno de los elementos de la matriz de coincidencias contiene coincidencias de cada grupo para una de las coincidencias encontradas de la cadena. |
PREG_OFFSET_CAPTURE | Devuelve las coincidencias con sus correspondientes posiciones de desplazamiento de bytes en la cadena de asunto. |
PREG_UNMATCHED_AS_NULL | Los patrones no coincidentes se informarán como NULL. |
Ejemplo 1
Considere el siguiente ejemplo del uso de la preg_match_all() función en PHP. En este código, estamos buscando la palabra linux en la cuerda. Esta función genera el número de coincidencias encontradas contra la palabra linux :
$cadena = 'Hola entusiastas de Linux, ¡Bienvenidos a LinuxHint!' ;
$patrón = '/Linux/' ;
$coincidencias = formación ( ) ;
preg_match_all ( $patrón , $cadena , $coincidencias ) ;
imprimir_r ( $coincidencias [ 0 ] ) ;
?>
Ejemplo 2
En este código de ejemplo, buscamos la palabra E en la cadena. La i minúscula se utiliza para que la búsqueda no distinga entre mayúsculas y minúsculas. Devolverá todas las ocurrencias de cadena de la palabra E o e:
$cadena = 'BIENVENIDOS A EE. UU.' ;
$patrónRex = '/E/yo' ;
$coincidencia encontrada = preg_match_all ( $patrónRex , $cadena , $coincidencias ) ;
si ( $coincidencia encontrada ) {
eco '
';
imprimir_r ( $coincidencias ) ;
}
?>
Ejemplo 3
Si el patrón que está buscando no está presente en la cadena, la función devolverá falso, lo que indica un error. Para manejar esto, puede usar declaraciones if-else. Si no se encuentra el patrón, puede imprimir un mensaje usando la declaración else para informar al usuario que no se encontró el patrón.
$cadena = 'PHP es un lenguaje de secuencias de comandos popular' ;
$patrónRex = '/orinar/' ;
$coincidencia encontrada = preg_match_all ( $patrónRex , $cadena , $coincidencias ) ;
si ( $coincidencia encontrada ) {
eco '
';
eco 'Coincidencia encontrada.' ;
imprimir_r ( $coincidencias ) ;
} demás {
eco 'No se encontraron coincidencias.' ;
}
?>
Nota : El
Línea de fondo
Las expresiones regulares son una poderosa herramienta para buscar y manipular texto en PHP. El preg_match_all() La función es una función PHP integrada que se utiliza para realizar una coincidencia de expresión regular con una cadena y recuperar todas las apariciones del patrón y, si el patrón no existe, devolverá falso. Entendiendo el preg_match_all() La función ayudará a los usuarios a manejar y procesar mejor los datos de texto en PHP.