Maison  >  Article  >  développement back-end  >  Comment ajouter du HTML à un DOMNode PHP sans encodage ?

Comment ajouter du HTML à un DOMNode PHP sans encodage ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-19 14:20:03857parcourir

How to append HTML to a PHP DOMNode without encoding?

Insérer du HTML dans PHP DOMNode

Pour ajouter du HTML à un DOMNode existant sans encodage, utilisez DOMDocumentFragment::appendXML.

// DOM setup
$dom = new DOMDocument;
$dom->loadXML('<html><body/></html>');
$body = $dom->documentElement->firstChild;

// Append HTML fragment
$template = $dom->createDocumentFragment();
$template->appendXML('<h1>This is <em>my</em> template</h1>');
$body->appendChild($template);

// Output
echo $dom->saveXml();

Sortie :

<?xml version="1.0"?>
<html><body><h1>This is <em>my</em> template</h1></body></html>

Importation à partir d'un autre DOMDocument

// Load another DOMDocument
$tpl = new DOMDocument;
$tpl->loadXML('<h1>This is <em>my</em> template</h1>');

// Import and append
$body->appendChild($dom->importNode($tpl->documentElement, TRUE));

Importation de HTML mal formé

// Enable libxml error handling
libxml_use_internal_errors(true);

// Load and import HTML
$tpl = new DOMDocument;
$tpl->loadHtml('<h1>This is <em>malformed</em> template</h1></h2>');
$body->appendChild($dom->importNode($tpl->documentElement, TRUE));

// Disable libxml error handling
libxml_use_internal_errors(false);

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