Saltar al contenido

Expresión regular / Regex PHP: preg_match () | preg_replace ()

¿Qué es una expresión regular en PHP?

Expresión regular PHP también conocido como regex es un poderoso algoritmo de coincidencia de patrones que se puede realizar en una sola oración. Las expresiones regulares usan operadores aritméticos como (+, -, ^) para crear expresiones complejas. Pueden ayudarlo a completar tareas como validar direcciones de correo electrónico, dirección IP, etc.

Por que usar expresiones regulares

  • Las expresiones regulares de PHP simplifican los patrones de reconocimiento en datos cableados llamando a una sola función. Esto nos ahorra tiempo de codificación.
  • Validación de la entrada del usuario, como dirección de correo electrónico, nombres de dominio, números de teléfono, direcciones IP,
  • Resalte las palabras clave en los resultados de búsqueda
  • Al crear una plantilla HTML personalizada. Regex en PHP se puede utilizar para identificar las etiquetas de la plantilla y reemplazarlas con datos reales.

En este tutorial de PHP Regex, aprenderá:

Funciones de expresión regular integradas en PHP

PHP tiene funciones agregadas que nos permiten trabajar con funciones regulares que aprenderemos en este tutorial de Expresiones de PHP. Veamos las funciones de expresión regular que se usan comúnmente en PHP.

A continuación se muestra la sintaxis de una función de expresión regular como PHP preg_match (), PHP preg_split () o PHP preg_replace ().

<?php
function_name('/pattern/',subject);
?>

AQUÍ,

Ahora veremos ejemplos prácticos que implementan las funciones de expresiones regulares de PHP anteriores.

PHP Preg_match ()

El primer ejemplo usa la aplicación PHP preg_match () para hacer un juego de patrones simple para la palabra guru en una URL en particular.

El siguiente código muestra la implementación de la función de prueba preg_match () para el ejemplo anterior.

<?php
$my_url = "www.guru99.com";
if (preg_match("/guru/", $my_url))
{
	echo "the url $my_url contains guru";
}
else
{
	echo "the url $my_url does not contain guru";
}
?>

Busque la URL http: //localhost/phptuts/preg_match_simple.php

Examinamos la parte del código que es responsable de nuestra salida “preg_match (‘/ guru /’, $ my_url) “ AQUÍ,

El siguiente diagrama resume los puntos anteriores.

PHP Preg_split ()

Veamos ahora otro ejemplo que usa la aplicación PHP preg_split ().

Tomamos una frase de cadena y la descomponemos en una serie; el patrón a emparejar es un solo espacio.

La cadena de texto que se utilizará en este ejemplo es “Me encantan las expresiones regulares”.

El código siguiente ilustra la implementación del ejemplo anterior.

<?php

$my_text="I Love Regular Expressions";

$my_array  = preg_split("/ /", $my_text);

print_r($my_array );

?>

Busque la URL http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Ahora miramos la función preg_replace () en una aplicación PHP que hace coincidir patrones y luego reemplaza el patrón con otra cosa.

El siguiente código busca la palabra guru en una cadena.

Reemplaza la palabra guru con la palabra guru rodeada de código CSS que enfatiza el color de fondo.

<?php

$text = "We at Guru99 strive to make quality education affordable to the masses. Guru99.com";

$text = preg_replace("/Guru/", '<span style="background:yellow">Guru</span>', $text);

echo $text;

?>

Suponiendo que guardó el archivo preg_replace.php, navegue a la URL http: //localhost/phptuts/preg_replace.php

Metacaracteres de demostración regulares

Los ejemplos anteriores utilizaron patrones muy básicos; Los metacaracteres solo permiten juegos de patrones más complejos, como probar la validez de una dirección de correo electrónico. Veamos ahora los metacaracteres de uso común.

Metacarácter Suelte Ejemplo
. Coincide con un carácter en lugar de una nueva línea /./ compatible con cualquier cosa que tenga un carácter individual
^ Coincide con inicio o cableado / no incluye caracteres / ^ PH / que coincide con cualquier cadena que comience con PH
PS Coincidencia de patrones al final del cable / com $ / trajes guru99.com, yahoo.com Etc.
* Coincide con cualquier (cero) o más caracteres / com * / computadora a juego, comunicación, etc.
+ Requiere que los personajes anteriores aparezcan al menos una vez / yah + oo / yahoo trajes
Se usa para escapar de los metacaracteres /yahoo+.com/ trata el punto como un valor literal
[…] Clase de personaje /[abc]/ abc juegos
Arizona Coincidir con letras minúsculas / az / cool, happy suit, etc.
Arizona Las letras mayúsculas coinciden / AZ / que coincide con POR QUÉ, CÓMO, POR QUÉ, etc.
0-9 Coincide con cualquier número entre 0 y 9 / 0-4 / juegos 0,1,2,3,4

La lista anterior proporciona solo los metacaracteres más comunes utilizados en expresiones regulares.

Veamos ahora un ejemplo bastante complejo que verifica la validez de una dirección de correo electrónico.

<?php
$my_email = "This email address is being protected from spambots. You need JavaScript enabled to view it.";
if (preg_match("/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+.[a-zA-Z.]{2,5}$/", $my_email)) {
echo "$my_email is a valid email address";
}
else
{
  echo "$my_email is NOT a valid email address";
}
?>

Explica el patrón »[/^[a-zA-Z0-9._-]+ @[a-zA-Z0-9-]+ .[a-zA-Z.]{2,5} $ /]”

AQUÍ,

Busque la URL http: //localhost/phptuts/preg_match.php

Como puede ver en el desglose de muestra anterior, los metacaracteres son muy poderosos para hacer coincidir patrones.

Resumen

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *