DOMNode::C14N
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
Canonicalize nodes to a string
Description
Canonicalize nodes to a string
Parameters
exclusiveEnable exclusive parsing of only the nodes matched by the provided xpath or namespace prefixes.
withCommentsRetain comments in output.
xpathnsPrefixesAn array of namespace prefixes to filter the nodes by.
Return Values
Returns canonicalized nodes as a stringFalseforfailure
Examples
Example with XPath query
This example demonstrates advanced usage canonicalizing and filtering the nodes by an XPath query.
<?php
$dom = new DOMDocument();
$dom->loadXML(<<<XML
<root xmlns:food="urn:food">
<!-- redundant namespace declaration will be canonicalized -->
<food:fruit xmlns:food="urn:food">Apple</food:fruit>
<food:fruit>Orange</food:fruit>
<food:fruit>Pear</food:fruit>
<!-- vegetables here -->
<food:vegetable>Lettuce</food:vegetable>
</root>
XML);
echo $dom->C14N(true, false, [
"query" => ".//f:fruit|.//f:fruit/text()",
"namespaces" => ["f" => "urn:food"],
]);
?>The above example will output:
<food:fruit>Apple</food:fruit><food:fruit>Orange</food:fruit><food:fruit>Pear</food:fruit>See Also
DOMNode::C14NFile