libxml_get_errors

(PHP 5 >= 5.1.0)

libxml_get_errors — Lit le tableau d'erreurs

Description

array libxml_get_errors ( void )

Retrieve array of errors.

Valeurs de retour

libxml_get_errors() retourne un tableau avec les objets LibXMLError qui représentent les erreurs, ou bien un tableau vide s'il n'y a pas d'erreurs.

Exemples

Exemple 1277. Exemple avec libxml_get_errors()

Cet exemple montre comment créer un gestionnaire d'erreurs libxml simple.

<?php

libxml_use_internal_errors
( true );

$xmlstr  = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <titles>PHP: Behind the Parser</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" ;
}

?>

L'exemple ci-dessus va afficher :


  <titles>PHP: Behind the Parser</title>
^
Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title
  Line: 4
  Column: 0

--------------------------------------------

    

Voir aussi

libxml_get_last_error()
libxml_clear_errors()