Maison >développement back-end >tutoriel php >Comment puis-je enregistrer le contenu HTML d'un DOMDocument en PHP sans les balises HTML, Body et P par défaut ?

Comment puis-je enregistrer le contenu HTML d'un DOMDocument en PHP sans les balises HTML, Body et P par défaut ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-10 15:58:09524parcourir

How Can I Save a DOMDocument's HTML Content in PHP Without the Default HTML, Body, and P Tags?

Enregistrer le HTML d'un DOMDocument sans HTML Wrapper

Dans votre fonction PHP, vous essayez d'enregistrer le contenu d'un DOMDocument sans le entourant , corps et

balises. Cependant, saveXML() a tendance à ajouter ces wrappers lorsqu'il est utilisé avec getElementsByTagName('p').

Solution alternative pour PHP 5.4 et supérieur

Avec PHP 5.4 et Libxml 2.6 ou supérieur, vous pouvez utiliser la fonction loadHTML() avec des options supplémentaires pour empêcher les erreurs implicites Éléments HTML et doctype :

$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

En utilisant ces options, saveHTML() ne produira pas les wrappers indésirables.

Explication des options :

  • LIBXML_HTML_NOIMPLIED : désactive l'ajout automatique de code HTML et de corps implicite éléments.
  • LIBXML_HTML_NODEFDTD : empêche la création d'un doctype par défaut si aucun n'est présent dans le contenu d'entrée.

Notes supplémentaires :

  • La documentation sur les paramètres Libxml peut être trouvée ici.
  • Notez que bien que la documentation loadHTML mentionne Libxml 2.6 comme exigence, LIBXML_HTML_NODEFDTD est devenue disponible dans Libxml 2.7.8, et LIBXML_HTML_NOIMPLIED était disponible à partir de 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!

Déclaration:
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