There's a bug in the docs here. The order of arguments is the other way round i.e.
object DomNode->replace_child ( object newnode, object oldnode)
Here's an example of it working:
<?php
$doc = domxml_new_doc("1.0");
$root = $doc->create_element("HTML");
$doc->append_child($root);
$head = $doc->create_element("HEAD");
$root->append_child($head);
$title = $doc->create_element("TITLE");
$head->append_child($title);
$text = $doc->create_text_node("This is the title");
$title->append_child($text);
echo "<PRE>";
echo htmlentities($doc->dump_mem(true));
echo "</PRE>";
$newtitle = $doc->create_text_node("No, this is the title");
// object DomNode->replace_child ( object newnode, object oldnode)
$title->replace_child($newtitle,$title->first_child());
echo "<PRE>";
echo htmlentities($doc->dump_mem(true));
echo "</PRE>";
?>
DomNode->replace_child
(PHP 4 >= 4.2.0)
DomNode->replace_child — Remplace un noeud fils
Description
(PHP 4.2) DomNode->replace_child() remplace le noeud fils oldnode avec le nouveau noeud newnode . Si le nouveau noeud est déjà un fils, il ne sera pas ajouté une seconde fois. Si l'ancien noeud ne peut être trouvé, DomNode->replace_child() retournera FALSE. Si le remplacement a pu avoir lieu, oldnode est retourné.
(PHP 4.3) DomNode->replace_child() remplace le noeud fils oldnode avec le nouveau noeud newnode , même si newnode est déjà fils. Si le nouveau noeud est déjà inséré dans le document, il sera retiré de son contexte courant.. Si DomNode->replace_child() ne peut trouver l'ancien noeud, elle retournera FALSE. Si le remplacement a pu avoir lieu, oldnode est retourné.
Voir aussi domnode_append_child().
DomNode->replace_child
27-Feb-2004 03:25
