首页 >后端开发 >php教程 >如何在不编码的情况下将 HTML 附加到 PHP DOMNode?

如何在不编码的情况下将 HTML 附加到 PHP DOMNode?

Susan Sarandon
Susan Sarandon原创
2024-11-19 14:20:03909浏览

How to append HTML to a PHP DOMNode without encoding?

将 HTML 插入 PHP DOMNode

要将 HTML 附加到现有 DOMNode 而不进行编码,请使用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();

输出:

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

从另一个 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));

导入格式错误HTML

// 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);

以上是如何在不编码的情况下将 HTML 附加到 PHP DOMNode?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn