Avertissement : DOMDocument::loadHTML() : entité inattendue
Dans un script PHP, une erreur se produit lors de la tentative d'analyse HTML à l'aide de DOMDocument ->loadHTML(). L'erreur indique :
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity
Cause :
Le contenu HTML contient une entité incomplète à laquelle il manque un point-virgule (;). Les entités sont des caractères spéciaux représentés à l'aide du caractère esperluette (&) et d'une séquence de caractères ou d'un code numérique. Par exemple, & représente le caractère esperluette. S'il manque un point-virgule, l'analyseur peut ne pas reconnaître l'entité et générer une erreur.
Solution :
Une façon de résoudre cet avertissement consiste à activer l'erreur interne. gestion à l’aide de libxml_use_internal_errors(). Cette fonction supprime l'avertissement et permet au script de poursuivre son exécution. Voici un exemple :
<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>
En activant la gestion des erreurs internes, l'avertissement ne sera pas affiché, mais toutes les erreurs rencontrées lors de l'analyse seront stockées en interne et pourront être récupérées à l'aide de libxml_get_errors().
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!