Saltar al contenido

preg_last_error()

Introducción

Las expresiones regulares son una herramienta poderosa para manipular y buscar cadenas en PHP. Ocasionalmente, las operaciones de regex fallan debido a patrones inválidos o límites del motor. La función preg_last_error() ayuda a identificar estos fallos devolviendo el código de error de la última llamada a una función PCRE.

Comprensión de la función preg_last_error()

La función preg_last_error() devuelve un entero que representa el código de error de la última ejecución de una expresión regular. Devuelve PREG_NO_ERROR (0) si la operación tuvo éxito. Las constantes de error comunes incluyen PREG_INTERNAL_ERROR, PREG_BACKTRACK_LIMIT_ERROR y PREG_BAD_UTF8_ERROR. Ten en cuenta que desde PHP 7.2, también puedes usar preg_last_error_msg() para obtener un mensaje de error legible por humanos.

Comprensión de la función preg_last_error()

php
preg_last_error();

La función devuelve un valor entero que representa el código de error.

Ejemplo de uso

Veamos un ejemplo para entender el uso de la función preg_last_error() en PHP:

Ejemplo de uso de PHP preg_last_error()

php
<?php

$pattern = '/^(.*)(\d{4})$/';
$string = 'This is a test 1234';

$result = preg_match($pattern, $string, $matches);

if ($result === false) {
    $error = preg_last_error();
    echo 'Error code: ' . $error;
} elseif ($result === 1) {
    echo 'Match found.';
} else {
    echo 'No match.';
}

En el ejemplo anterior, tenemos un patrón de expresión regular que coincide con una cadena que contiene cuatro dígitos al final. Luego usamos la función preg_match() para buscar la coincidencia en la cadena. Si se encuentra una coincidencia, imprimimos "Coincidencia encontrada.". Si la función devuelve false, usamos preg_last_error() para obtener el código de error PCRE real. De lo contrario, manejamos el caso simple de no coincidencia.

Conclusión

La función preg_last_error() es esencial para depurar operaciones de regex en PHP. Al verificar devoluciones false e inspeccionar el código de error, los desarrolladores pueden distinguir rápidamente entre fallos del motor y simples no coincidencias. Esperamos que este artículo te haya proporcionado una visión general completa de la función preg_last_error() en PHP y de cómo se puede utilizar. Si tienes alguna pregunta o necesitas más ayuda, no dudes en preguntar.

Práctica

¿Qué hace la función 'preg_last_error' en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.