Maison > développement back-end > tutoriel php > Comment puis-je enregistrer du HTML à partir de DOMDocument sans les balises Wrapper ?

Comment puis-je enregistrer du HTML à partir de DOMDocument sans les balises Wrapper ?

Susan Sarandon
Libérer: 2024-12-15 05:34:13
original
637 Les gens l'ont consulté

How Can I Save HTML from DOMDocument Without the Wrapper Tags?

Enregistrement du code HTML de DOMDocument sans HTML Wrapper

Cette question répond à un problème courant lorsque vous travaillez avec DOMDocument : l'extraction de contenu HTML sans les balises HTML, corps et paragraphe englobantes. Le problème survient lorsque saveXML() ajoute ces wrappers à la sortie. Bien que le correctif suggéré utilisant saveXML() sur le premier élément de paragraphe ne fonctionne que pour le contenu sans éléments de niveau bloc, cet article explore une solution complète.

La clé pour résoudre ce problème réside dans l'introduction de l'option $. paramètre dans loadHTML() dans PHP 5.4 et Libxml 2.6. En utilisant les options suivantes :

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

nous pouvons demander à Libxml de ne pas ajouter automatiquement d'éléments HTML et body implicites ou un doctype par défaut. Par conséquent, saveHTML() affichera le contenu sans ces wrappers.

LIBXML_HTML_NOIMPLIED désactive l'ajout automatique d'éléments HTML/body implicites, tandis que LIBXML_HTML_NODEFDTD empêche l'ajout d'un doctype par défaut s'il n'en trouve pas dans l'entrée.

En incorporant ces options, nous pouvons extraire efficacement le contenu HTML souhaité sans wrappers indésirables, garantissant ainsi une image plus précise. représentation du contenu du DOMDocument.

Il est important de noter que loadHTML() nécessite Libxml 2.6, alors que LIBXML_HTML_NODEFDTD n'est disponible que dans Libxml 2.7.8 et LIBXML_HTML_NOIMPLIED est disponible dans Libxml 2.7.7. Pour une compréhension complète des paramètres Libxml, reportez-vous à la documentation officielle.

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