(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DOMNode::C14N — Canonicalize nodes to a string
$exclusive
= false
,$withComments
= false
,$xpath
= null
,$nsPrefixes
= null
Canonicalize nodes to a string
exclusive
Enable exclusive parsing of only the nodes matched by the provided xpath or namespace prefixes.
withComments
Retain comments in output.
xpath
Масив XPath-шляхів для фільтації шляхів. Кожен елемент в ньому — це асоціативний масив, що містить:
query
та значенням виразу
XPath у вигляді рядка.
namespaces
та
значенням, що є масивом, де зіставлено префікси простору імен (ключі) з
URI простору імен (значення).
nsPrefixes
An array of namespace prefixes to filter the nodes by.
Returns canonicalized nodes as a string або false
в разі помилки
Приклад #1 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"],
]);
?>
Поданий вище приклад виведе:
<food:fruit>Apple</food:fruit><food:fruit>Orange</food:fruit><food:fruit>Pear</food:fruit>