libxml_get_errors
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
libxml_get_errors — Obtém um array de erros
Parâmetros
Esta função não possui parâmetros.
Valor Retornado
Retorna um array com objetos LibXMLError se houver algum erro no buffer, ou um array vazio caso contrário.
Exemplos
Example #1 Um exemplo de libxml_get_errors()
Este exemplo demonstra como construir um simples manipulador de erro da libxml.
<?php
libxml_use_internal_errors(true);
$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
<movie>
<titles>PHP: Por Trás do Analisador</title>
</movie>
</movies>
XML;
$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);
if ($doc === false) {
$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 .= "Alerta $error->code: ";
break;
case LIBXML_ERR_ERROR:
$return .= "Erro $error->code: ";
break;
case LIBXML_ERR_FATAL:
$return .= "Erro fatal $error->code: ";
break;
}
$return .= trim($error->message) .
"\n Line: $error->line" .
"\n Column: $error->column";
if ($error->file) {
$return .= "\n Arquivo: $error->file";
}
return "$return\n\n--------------------------------------------\n\n";
}
?>
O exemplo acima produzirá:
<titles>PHP: Por Trás do Analisador</title> ----------------------------------------------^ Erro fatal 76: Opening and ending tag mismatch: titles line 4 and title Line: 4 Column: 46 --------------------------------------------
Veja Também
- libxml_get_last_error() - Obtém o último erro da libxml
- libxml_clear_errors() - Limpa o buffer de erro da libxml