PHP libxml_clear_errors() 函数清除 libxml 错误缓冲区。
语法
libxml_clear_errors()
参数
无需参数。
返回值
无返回值。
示例:
下面的示例展示了如何构建一个简单的 libxml 错误处理程序。
<?php
libxml_use_internal_errors(true);
//包含不匹配的标签
$xmlstr = <<<XML
<mail>
<To>John Smith</too>
<From>Marry G.</From>
<Subject>Happy Birthday</Subject>
<body>Happy birthday. Live your life with smiles.</body>
</mail>
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 错误缓冲区
libxml_clear_errors();
}
//显示错误信息的函数
function display_xml_error($error, $xml) {
$message = "";
switch ($error->level) {
case LIBXML_ERR_WARNING:
$message .= "Warning $error->code: ";
break;
case LIBXML_ERR_ERROR:
$message .= "Error $error->code: ";
break;
case LIBXML_ERR_FATAL:
$message .= "Fatal Error $error->code: ";
break;
}
$message .= trim($error->message) .
"\n Line: $error->line" .
"\n Column: $error->column";
if ($error->file) {
$message .= "\n File: $error->file";
}
return $message;
}
?>
上述代码的输出将是:
Fatal Error 76: Opening and ending tag mismatch: To line 2 and too
Line: 2
Column: 23