PHP DOMNode への HTML の挿入
エンコードせずに 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 中国語 Web サイトの他の関連記事を参照してください。