ホームページ  >  記事  >  バックエンド開発  >  エンコードせずに HTML を PHP DOMNode に追加するにはどうすればよいですか?

エンコードせずに HTML を PHP DOMNode に追加するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-19 14:20:03870ブラウズ

How to append HTML to a PHP DOMNode without encoding?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。