Maison > développement back-end > tutoriel php > Comment enregistrer le HTML de DOMDocument sans balises wrapper inutiles ?

Comment enregistrer le HTML de DOMDocument sans balises wrapper inutiles ?

Mary-Kate Olsen
Libérer: 2024-12-16 05:39:14
original
372 Les gens l'ont consulté

How to Save HTML from DOMDocument Without Unnecessary Wrapper Tags?

Enregistrement du HTML à partir d'un DOMDocument sans HTML Wrapper

La tâche à accomplir est d'extraire le contenu HTML d'un objet DOMDocument sans qu'il soit enveloppé dans des éléments inutiles Balises HTML. Le problème est que lors de l'utilisation de saveXML, il ajoute des wrappers de balises XML, HTML, body et p.

À mesure que PHP est passé à la version 5.4 et Libxml à la version 2.6, une solution a émergé. La fonction loadHTML accepte désormais un paramètre $option qui contrôle la façon dont le contenu est analysé.

Pour résoudre ce problème, nous pouvons charger le HTML avec les options suivantes :

$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
Copier après la connexion

Ces options sont désactivées l'ajout automatique d'éléments html/body implicites et empêche l'ajout d'un doctype par défaut. Cette configuration garantit que lorsque saveHTML est appelé, la sortie n'inclura pas les wrappers problématiques.

LIBXML_HTML_NOIMPLIED: Turns off the automatic adding of implied html/body elements.
LIBXML_HTML_NODEFDTD: Prevents a default doctype from being added when one is not found.
Copier après la connexion

Pour une documentation complète sur les paramètres Libxml, reportez-vous à : [Documentation des paramètres Libxml](https://www.php .net/manual/en/libxml.constants.php#libxmlconstants.constants.html)

Il est à noter que même si le La documentation loadHTML mentionne que Libxml 2.6 est requis, LIBXML_HTML_NODEFDTD n'est disponible que dans Libxml 2.7.8 et LIBXML_HTML_NOIMPLIED est disponible dans Libxml 2.7.7.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal