Uso de la función preg_match () en PHP

Use Preg_match Function Php



La expresión regular es un patrón particular que se puede usar para hacer coincidir, buscar y reemplazar cualquier cadena en particular en los datos de texto. Es una característica poderosa de cualquier lenguaje de programación. Se utiliza principalmente para realizar diferentes tipos de validaciones de formularios, como validar el correo electrónico, verificar el formato del teléfono, validar los campos de nombre de usuario y contraseña del formulario de inicio de sesión, etc. Cualquier contenido particular del texto se puede buscar y reemplazar usando una expresión regular patrón. También se llama regex o RegExp. Se utilizan diferentes tipos de símbolos para definir el patrón de expresiones regulares.

Existen muchas funciones integradas en PHP para la expresión regular. La función preg_match () es una de ellas. Esta función se utiliza para hacer coincidir un patrón particular en datos de cadena. En este tutorial se explica cómo se puede usar la función preg_match () en PHP para realizar varias tareas.







Sintaxis:

Int ofalso preg_match (cuerda$ patrón,cuerda$ asunto [, formación &$ partidos = nulo [,En t$ banderas = 0 [,En t$ compensación = 0]]])

Esta función puede tomar cinco argumentos. El primer argumento, $ patrón , es obligatorio, que define el patrón de coincidencia. El segundo argumento, $ asunto , es obligatorio y contiene los datos de la cadena en la que se aplicará el patrón. El tercer argumento, $ partidos , es opcional y devuelve una matriz basada en la coincidencia. El cuarto argumento, $ banderas , es opcional y contiene diferentes tipos de valores de bandera según la coincidencia. El quinto argumento, $ compensación , es opcional y se puede utilizar para definir la posición de inicio de la búsqueda.



Ejemplo 1: hacer coincidir el patrón de una manera que distingue entre mayúsculas y minúsculas

El siguiente ejemplo muestra el uso de la función preg_match () para hacer coincidir la cadena de una manera sensible a mayúsculas y minúsculas. Cree un archivo PHP con el siguiente script.



Aquí, se utilizan tres patrones para aplicar en tres funciones preg_match (). El primer patrón, '/Igual que/', se utiliza para hacer coincidir la cadena de forma sensible a mayúsculas y minúsculas. El segundo patrón, '/igual que/' , se utiliza para hacer coincidir la cadena de forma sensible a mayúsculas y minúsculas. El tercer patrón, 'Como yo' , se utiliza para hacer coincidir la cadena de una manera que no distingue entre mayúsculas y minúsculas. search_pattern () La función está definida en el script para usar la función preg_match () para hacer coincidir, e imprime el mensaje según el valor devuelto por esta función.







// Definir el texto

$ texto = 'Me gusta PHP. También me gusta JavaScript.;

// Definir tres tipos de patrón

$ patrón1 = '/Igual que/';

$ patrón2 = '/igual que/';

$ patrón3 = '/Como yo';

// Definir función para buscar el patrón en el texto

funciónsearch_pattern($ patrón, $ cadena)

{

si( preg_match ($ patrón, $ cadena))

echo 'Resultado de búsqueda: Se encuentra coincidencia para el patrón -$ patrón
'
;

demás

echo 'Resultado de búsqueda: No se encuentra coincidencia para el patrón -$ patrón
'
;

}

// Imprime el texto original

echo 'El texto original es: $ texto
'
;

// Llamar a la función tres veces para tres patrones

search_pattern($ patrón1, $ texto);

search_pattern($ patrón2, $ texto);

search_pattern($ patrón3, $ texto);

?>

Producción :

La siguiente salida aparecerá después de ejecutar el script desde el servidor. La primera línea muestra el texto donde se buscaron los patrones. La segunda línea muestra la salida del primer patrón. La tercera línea muestra la salida del segundo patrón. La cuarta línea muestra la salida del tercer patrón.



Ejemplo 2: validar la URL

El siguiente ejemplo muestra la forma de validar la dirección URL usando la función preg_match (). Cree un archivo PHP con el siguiente script.

Se asigna un valor de URL en la variable $ url para realizar pruebas. La cadena ‘@ ^ (?: Https: //)? ([^ /] +) @I’ se usa como patrón en la función preg_match () para verificar si la dirección URL es válida o no. Si es válido, se imprimirán el nombre de host y el nombre de dominio; de lo contrario, se imprimirá el mensaje de error.



// Definir la URL

$ url = 'https://www.linuxhint.com';

// Definir el patrón para validar la URL

$ patrón ='@ ^ (?: https: //)? ([^ /] +) @i';

// Comprueba que la URL sea válida o no

si( preg_match ($ patrón, $ url, $ partidos1))

{

// Imprime el mensaje de éxito

echo 'La URL es válida.
'
;

// Imprime la matriz que contiene los valores coincidentes

echo 'Los valores de la matriz son:';

print_r ($ partidos1);

// Recuperar e imprimir el valor del host

$ anfitrión = $ partidos1[1];

echo '
El nombre de host es:$ anfitrión'
;

// Busque el nombre de dominio del valor del host

preg_match ('/[^.]+.[^.]+$/', $ anfitrión, $ partidos2);

echo '
El nombre de dominio es:{$ coincidencias2 [0]}'
;

}

demás

{

// Imprime el mensaje de error

echo 'URL invalida.';

}

?>

Producción :

La siguiente salida aparecerá después de ejecutar el script desde el servidor. La URL proporcionada en el script es válida. Entonces, la salida muestra los valores de $ coincidencias, el nombre de host de la URL y el nombre de dominio de la URL.

Ejemplo 3: patrón de búsqueda con valores de marca y compensación

El siguiente ejemplo muestra los usos de la bandera y los valores de compensación en la función preg_match (). Cree un archivo PHP con el siguiente script.

Se utilizan tres patrones en el script para tres tipos de coincidencia. En la primera función preg_match (), se usa '/ (bangla) (desh) /' como patrón y el valor de la bandera, se usa PREG_OFFSET_CAPTURE. Los valores de la $ partidos La variable se imprimirá según la salida de la primera función preg_match (). En la segunda función preg_match (), '/ (bangla) (glad) * (desh) / i', se usa como patrón y se usa el valor de la bandera, PREG_UNMATCHED_AS_NULL. Si alguna parte del patrón no coincide, se almacenará un valor NULO en la matriz. Los valores de la $ partidos La variable se imprimirá según la salida de la segunda función preg_match (). En la tercera función preg_match (), se usa '/ glad /' como patrón, se usa el valor de la bandera, PREG_OFFSET_CAPTURE y se usa 3 como valor de compensación. Los valores de la $ partidos La variable se imprimirá según la salida de la tercera función preg_match ().



// Definir el valor del texto

$ texto = 'Bangladesh';

// Definir tres tipos de patrones

$ patrón1 = '/ (bangla) (desh) / i';

$ patrón2 = '/ (bangla) (contento) * (desh) / i';

$ patrón3 = '/contento/';


// Usando la bandera PREG_OFFSET_CAPTURE

preg_match ($ patrón1, $ texto, $ partidos,PREG_OFFSET_CAPTURE);

echo '|_+_|
'
;

// Usando la bandera PREG_UNMATCHED_AS_NULL

preg_match ($ patrón2, $ texto, $ partidos,PREG_UNMATCHED_AS_NULL);

echo '|_+_|
'
;

// Usando la bandera PREG_OFFSET_CAPTURE y el valor de compensación

preg_match ($ patrón3, $ texto, $ partidos,PREG_OFFSET_CAPTURE, 3);

echo '|_+_|';

?>

Producción :

La siguiente salida aparecerá después de ejecutar el script desde el servidor.

Conclusión

Los usos de la función preg_match () se han explicado en este tutorial utilizando varios ejemplos. Aquí también se muestran los usos de diferentes argumentos de esta función. Los lectores podrán utilizar esta función correctamente en su script después de leer este tutorial.