函式名:libxml_get_last_error()
適用版本:PHP 5, PHP 7
用法:libxml_get_last_error() 函式用於獲取最近一次 libxml 錯誤的錯誤資訊。
語法:libxml_get_last_error(): \LibXMLError|false
返回值:該函式返回一個 \LibXMLError 物件,其中包含最近一次 libxml 錯誤的詳細資訊。如果沒有錯誤發生,則返回 false。
示例:
// 建立一個有錯誤的 XML 文件
$xml = "<root><element>";
// 禁用錯誤報告
libxml_use_internal_errors(true);
// 載入 XML
$doc = new DOMDocument();
$doc->loadXML($xml);
// 獲取最近一次 libxml 錯誤
$error = libxml_get_last_error();
if ($error) {
echo "發生了一個 libxml 錯誤:\n";
echo "程式碼:" . $error->code . "\n";
echo "訊息:" . $error->message . "\n";
echo "行號:" . $error->line . "\n";
echo "列號:" . $error->column . "\n";
} else {
echo "沒有發生 libxml 錯誤。\n";
}
輸出結果:
發生了一個 libxml 錯誤:
程式碼:76
訊息:Opening and ending tag mismatch: element line 1 and root
行號:1
列號:17
在上面的示例中,我們建立了一個有錯誤的 XML 文件,並使用 DOMDocument 類的 loadXML() 方法載入 XML。然後,我們使用 libxml_get_last_error() 函式獲取最近一次 libxml 錯誤的詳細資訊。如果有錯誤發生,我們列印出錯誤程式碼、訊息、行號和列號。如果沒有錯誤發生,我們列印出一個相應的訊息。
請注意,在使用 libxml_get_last_error() 函式之前,我們呼叫了 libxml_use_internal_errors(true) 來禁用錯誤報告,這樣 libxml 錯誤資訊才會被返回。如果沒有呼叫該函式,libxml 錯誤將會被直接輸出到標準錯誤流。