警告:DOMDocument::loadHTML(): 意外實體
在PHP 腳本中,嘗試使用DOMDocument 解析HTML 時發生錯誤解析HTML 時發生錯誤解析HTML 時發生錯誤解析HTML> loadHTML()。錯誤狀態:
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity
原因:
HTML 內容包含缺少分號 (;) 的不完整實體。實體是使用與字元 (&) 和字元序列或數字代碼表示的特殊字元。例如,&代表 & 字元。如果缺少分號,解析器可能無法識別該實體並引發錯誤。
解決方案:
解決此警告的一種方法是啟用內部錯誤使用 libxml_use_internal_errors() 進行處理。此函數會抑制警告並允許腳本繼續執行。以下是一個範例:
<code class="php">// enable internal error handling libxml_use_internal_errors(true); // create a new DOMDocument $document = new DOMDocument('1.0', 'UTF-8'); // load HTML $document->loadHTML($html); // restore error level libxml_use_internal_errors(false);</code>
透過啟用內部錯誤處理,將不會顯示警告,但解析期間遇到的任何錯誤都會儲存在內部,並且可以使用 libxml_get_errors() 檢索。
以上是如何解決 PHP 中的「DOMDocument::loadHTML(): 意外實體」警告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!