fbpx
León Desarrollo - Programación WordPress

Utiliza preg_replace en PHP


preg_replace es una función de PHP que te permite realizar búsquedas y reemplazos utilizando expresiones regulares. Aquí tienes una guía paso a paso sobre cómo utilizar preg_replace:

Sintaxis básica:

string preg_replace(mixed $pattern, mixed $replacement, mixed $subject, int $limit = -1, int &$count = null): string|array|null
  • $pattern: La expresión regular que estás buscando.
  • $replacement: El texto o la expresión que se utilizará para reemplazar las coincidencias encontradas.
  • $subject: La cadena en la que buscarás las coincidencias.
  • $limit: (Opcional) El número máximo de reemplazos a realizar. Por defecto, es -1, lo que significa reemplazar todas las coincidencias.
  • $count: (Opcional) Una variable para almacenar el número de reemplazos realizados.

Ejemplo básico:

$texto_original = "Hola mundo";
$texto_modificado = preg_replace("/mundo/", "amigo", $texto_original);

echo $texto_modificado;  // Salida: Hola amigo

Utilizando expresiones regulares:

$texto_original = "La fecha es 31-12-2022";
$texto_modificado = preg_replace("/(\d{2})-(\d{2})-(\d{4})/", "$3-$2-$1", $texto_original);

echo $texto_modificado;  // Salida: La fecha es 2022-12-31

En este ejemplo, la expresión regular (\d{2})-(\d{2})-(\d{4}) coincide con fechas en el formato «dd-mm-yyyy», y luego los grupos de captura se reorganizan en el formato «yyyy-mm-dd».

Expresiones regulares

Las expresiones regulares (también conocidas como regex o regexp) son patrones que se utilizan para buscar y manipular texto en cadenas. Aquí hay algunos ejemplos de expresiones regulares comunes que puedes utilizar:

  1. Coincidir con una palabra específica:
   /\bpalabra\b/

Esto coincidirá con la palabra exacta «palabra» como una palabra completa en el texto.

  1. Coincidir con un número entero:
   /\b\d+\b/

Esto coincidirá con cualquier número entero en el texto.

  1. Coincidir con una dirección de correo electrónico:
   /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/

Esto coincidirá con direcciones de correo electrónico válidas.

  1. Coincidir con una URL:
   /https?:\/\/\S+/

Esto coincidirá con URLs que comienzan con «http://» o «https://».

  1. Coincidir con un número de teléfono (formato de EE. UU.):
   /\b\d{3}[-.]?\d{3}[-.]?\d{4}\b/

Esto coincidirá con números de teléfono en formatos como «123-456-7890» o «123.456.7890».

  1. Coincidir con una fecha en formato dd/mm/yyyy:
   /\b(0[1-9]|[12]\d|3[01])\/(0[1-9]|1[0-2])\/\d{4}\b/

Esto coincidirá con fechas en formato «dd/mm/yyyy».

  1. Coincidir con una etiqueta HTML simple:
   /<[^>]+>/

Esto coincidirá con cualquier etiqueta HTML.

Estos son solo ejemplos básicos, y las expresiones regulares pueden volverse bastante complejas según tus necesidades específicas. Además, ten en cuenta que las expresiones regulares pueden variar ligeramente según el lenguaje de programación que estés utilizando.

Utilizando el modificador i para hacer la búsqueda insensible a mayúsculas y minúsculas:

$texto_original = "Hola Mundo";
$texto_modificado = preg_replace("/mundo/i", "amigo", $texto_original);

echo $texto_modificado;  // Salida: Hola amigo

Usando preg_replace para encontrar y reemplazar URLs:

$texto_original = "Visita mi sitio web: https://www.ejemplo.com";
$texto_modificado = preg_replace("/https?:\/\/\S+/", '<a href="$0">$0</a>', $texto_original);

echo $texto_modificado;
// Salida: Visita mi sitio web: <a href="https://www.ejemplo.com">https://www.ejemplo.com</a>

En este ejemplo, la expresión regular /https?:\/\/\S+/ encuentra cualquier URL, y $0 en el reemplazo representa la URL encontrada.

Uso de funciones de devolución de llamada personalizadas:

function convertir_a_mayusculas($coincidencia) {
    return strtoupper($coincidencia[0]);
}

$texto_original = "hola mundo";
$texto_modificado = preg_replace_callback("/\b\w+\b/", 'convertir_a_mayusculas', $texto_original);

echo $texto_modificado;  // Salida: HOLA MUNDO

En este ejemplo, la función de devolución de llamada convertir_a_mayusculas se llama para cada palabra encontrada, y la palabra se convierte a mayúsculas.

Suscríbete

Si quieres estar al día con las novedades de este sitio te recomiendo que te suscribas.

Comentarios

Deja un comentario


2018 animaciones animación Aranda array atributos añade base de datos buscar categoría css curso diseño Duero emprendimiento fechas fiduero guía imagen imagenes inauguracion instalar Isilla linux local mac node.js pagina pagina web php post problemas producto red servicio servidor solución split sql sql server stock string windows woocommerce wordpress