DOMDocument::createDocumentFragment

(PHP 5, PHP 7, PHP 8)

DOMDocument::createDocumentFragmentCreate new document fragment

Description

public DOMDocument::createDocumentFragment(): DOMDocumentFragment

This function creates a new instance of class DOMDocumentFragment. This node will not show up in the document unless it is inserted with (e.g.) DOMNode::appendChild().

Parameters

This function has no parameters.

Return Values

The new DOMDocumentFragment.

Changelog

Version Description
8.1.0 In case of an error, a DomException is thrown now. Previously, false was returned.

See Also

add a note add a note

User Contributed Notes 1 note

up
1
info at ensostudio dot ru
2 years ago
You can use fragments to set inner HTML:
<?php
$dom
= new DOMImplementation();
$document = $dom->createDocument(null, 'html', $dom->createDocumentType('html'));

$div = $document->appendChild($document->createElement('div', '<small>test</small> me'));
echo
$document->saveHTML($div);
// <div>&lt;small&gt;test&lt;/small&gt; me</div>

$div = $document->appendChild($document->createElement('div'));
$div->nodeValue = '<small>test</small> me';
echo
$document->saveHTML($div);
// <div>&lt;small&gt;test&lt;/small&gt; me</div>

$div = $document->appendChild($document->createElement('div'));
$divInner = $document->createDocumentFragment();
$divInner->appendXML('<small>test</small> me');
$div->appendChild($divInner);
echo
$document->saveHTML($div);
// <div><small>test</small> me</div>

?>
To Top