Heim  >  Artikel  >  Backend-Entwicklung  >  Wie löst man die Warnung „DOMDocument::loadHTML(): Unexpected Entity“ in PHP?

Wie löst man die Warnung „DOMDocument::loadHTML(): Unexpected Entity“ in PHP?

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 20:52:02924Durchsuche

How to Resolve the

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn