libxml_get_errors

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_get_errors Recupera un array de errores

Descripción

libxml_get_errors(): array

Recupera un array de errores.

Valores devueltos

Recupera un array con objetos de tipo LibXMLError si hay errores en el buffer, o un array vacío en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo de libxml_get_errors()

Este ejemplo demuestra cómo contruir un gestor de errores libxml simple.

<?php

libxml_use_internal_errors
(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
<movie>
<titles>PHP: Detrás del analizador sintáctico</title>
</movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if (!
$doc) {
$errors = libxml_get_errors();

foreach (
$errors as $error) {
echo
display_xml_error($error, $xml);
}

libxml_clear_errors();
}


function
display_xml_error($error, $xml)
{
$return = $xml[$error->line - 1] . "\n";
$return .= str_repeat('-', $error->column) . "^\n";

switch (
$error->level) {
case
LIBXML_ERR_WARNING:
$return .= "Warning $error->code: ";
break;
case
LIBXML_ERR_ERROR:
$return .= "Error $error->code: ";
break;
case
LIBXML_ERR_FATAL:
$return .= "Fatal Error $error->code: ";
break;
}

$return .= trim($error->message) .
"\n Line: $error->line" .
"\n Column: $error->column";

if (
$error->file) {
$return .= "\n File: $error->file";
}

return
"$return\n\n--------------------------------------------\n\n";
}

?>

El resultado del ejemplo sería:

<titles>PHP: Detrás del analizador sintáctico</title> ----------------------------------------------^ Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title Line: 4 Column: 46 --------------------------------------------

Ver también

To Top