DOMNode::C14N

(PHP 5 >= 5.2.0)

DOMNode::C14NCanonizar nodos a una cadena

Descripción

public string DOMNode::C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )

Canoniza nodos a una cadena

Parámetros

exclusive

Habilita el análisis exclusivo de los nodos que coincidan únicamente con el xpath o los prefijos de nombres de espacio proporcionados.

with_comments

Conservar los comentarios en la salida.

xpath

Un array de xpaths por los que filtrar los nodos.

ns_prefixes

Un array de prefijos de nombres de espacio por los que filtrar los nodos.

Valores devueltos

Devuelve los nodos canonizados como cadenas o FALSE en caso de error

Ver también

add a note add a note

User Contributed Notes 2 notes

up
5
Rijk
2 years ago
When working with (malformed) HTML, you're probably better off using DOMDocument's saveHTML() method instead. C14N() will attempt to make your HTML valid XML, for example by converting <br> to <br></br>.

So instead of:
$html = $Node->C14N();

Use:
$html = $Node->ownerDocument->saveHTML( $Node );
up
0
jorda at edpsciences dot org
3 months ago
C14N() returns an empty string if the node is not included in the document tree:
<?php
$d
= new DOMDocument('1.0');
$d->loadXML('<foo></foo>');
$n = $d->createElement('bar');
var_dump($n->C14N());
$d->documentElement->appendChild($n);
var_dump($n->C14N());
?>
output:
string(0) ""
string(11) "<bar></bar>"
To Top