Atténuation des erreurs DOMDocument LoadHTML : résolution des guillemets englobants
Lorsque vous essayez de charger du contenu HTML dans un DOMDocument, vous pouvez rencontrer un avertissement et un message fatal. erreur liée à l’absence de guillemets fermants dans une référence d’entité. Pour résoudre ce problème, examinons le code fourni :
$html = file_get_contents("http://www.somesite.com/"); $dom = new DOMDocument(); $dom->loadHTML($html); echo $dom;
Ce code tente de récupérer le contenu HTML d'un site Web, de le charger dans un DOMDocument et de faire écho au document résultant. Cependant, il renvoie l'avertissement et l'erreur fatale suivants :
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, Catchable fatal error: Object of class DOMDocument could not be converted to string in test.php on line 10
L'avertissement indique que le contenu HTML contient une référence d'entité dépourvue de guillemets fermants appropriés. Pour résoudre ce problème, nous pouvons utiliser les étapes suivantes :
<code class="php">// create new DOMDocument $document = new \DOMDocument('1.0', 'UTF-8'); // set error level $internalErrors = libxml_use_internal_errors(true);</code>
<code class="php">// load HTML $document->loadHTML($html); // Retrieve errors $errors = libxml_get_errors();</code>
<code class="php">// Restore error level libxml_use_internal_errors($internalErrors);</code>
En mettant en œuvre ces étapes, nous pouvons atténuer efficacement l'avertissement et l'erreur fatale liés aux guillemets fermants manquants dans les références d'entité. Cela garantit que le DOMDocument peut être chargé et traité avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!