PHP Doku:: Inserts new node as child - function.domnode-insert-before.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:

Ein Service von Reinhard Neidl - Webprogrammierung.





(PHP 4 >= 4.1.0)

DomNode->insert_before Inserts new node as child


domelement DomNode->insert_before ( domelement $newnode , domelement $refnode )

This function inserts the new node newnode right before the node refnode. The return value is the inserted node. If you plan to do further modifications on the appended child you must use the returned node.

(PHP >= 4.3 only) If newnode already is part of a document, it will be first unlinked from its existing context. If refnode is NULL, then newnode will be inserted at the end of the list of children.

domnode_insert_before() is very similar to domnode_append_child() as the following example shows which does the same as the example at domnode_append_child().

Beispiel #1 Adding a child


if (!
$dom domxml_open_mem($xmlstr)) {
"Error while parsing the document\n";

$elements $dom->get_elements_by_tagname("informaltable");
$element $elements[0];

$newnode $element->insert_before($element$element);
$children $newnode->children();
$attr $children[1]->set_attribute("align""left");

$xmlfile $dom->dump_mem();

See also domnode_append_child().

Ein BenutzerBeitrag:
- Beiträge aktualisieren...
captainbajoo at juno dot com
11.05.2006 17:40
In a numbered ordering of the document's nodes, insertBefore() will place newNode at the index held by refNode, and increment refNode's index and all subsequent nodes' indices. This is instead of maintaining refNode's index, placing newNode at refNode's position minus one, and shifting all previous nodes' indices down by one.

The base case of refNode.index = 0 demonstrates why this must be the case, but it is good to know this explicitly, as it affects methods that deal with iteration such as getElementsByTagName().

PHP Powered Diese Seite bei
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)