警告: DOMDocument::loadHTML(): 予期しないエンティティ
PHP スクリプトで、DOMDocument を使用して HTML を解析しようとするとエラーが発生します->loadHTML()。エラーの内容:
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity
原因:
HTML コンテンツにセミコロン (;) が欠落している不完全なエンティティが含まれています。エンティティは、アンパサンド文字 (&) と一連の文字または数値コードを使用して表される特殊文字です。たとえば、&アンパサンド文字を表します。セミコロンが欠落している場合、パーサーはエンティティを認識できず、エラーが発生する可能性があります。
解決策:
この警告を解決する 1 つの方法は、内部エラーを有効にすることです。 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(): Unexpected Entity」という警告を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。