Heim > Artikel > Backend-Entwicklung > Wie löst man die Warnung „DOMDocument::loadHTML(): Unexpected Entity' in PHP?
Warnung: DOMDocument::loadHTML(): Unexpected Entity
In einem PHP-Skript tritt ein Fehler auf, wenn versucht wird, HTML mit DOMDocument zu analysieren ->loadHTML(). Der Fehler lautet:
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity
Ursache:
Der HTML-Inhalt enthält eine unvollständige Entität, der ein Semikolon (;) fehlt. Entitäten sind Sonderzeichen, die durch das kaufmännische Und-Zeichen (&) und eine Zeichenfolge oder einen Zahlencode dargestellt werden. Zum Beispiel & stellt das kaufmännische Und-Zeichen dar. Wenn ein Semikolon fehlt, erkennt der Parser die Entität möglicherweise nicht und löst einen Fehler aus.
Lösung:
Eine Möglichkeit, diese Warnung zu beheben, besteht darin, den internen Fehler zu aktivieren Handhabung mit libxml_use_internal_errors(). Diese Funktion unterdrückt die Warnung und ermöglicht die Fortsetzung der Ausführung des Skripts. Hier ist ein Beispiel:
<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>
Durch die Aktivierung der internen Fehlerbehandlung wird die Warnung nicht angezeigt, aber alle beim Parsen aufgetretenen Fehler werden intern gespeichert und können mit libxml_get_errors() abgerufen werden.
Das obige ist der detaillierte Inhalt vonWie löst man die Warnung „DOMDocument::loadHTML(): Unexpected Entity' in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!