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().
DomNode::insert_before
(PHP 4 >= 4.1.0)
DomNode::insert_before — Düğümün öncesine yeni bir düğüm yerleştirir
Açıklama
yeni düğümü mevcut düğümün hemen öncesine yerleştirir ve yerleştirilen düğümü döndürür. Bundan sonra eklenen çocukta değişiklik yapmak isterseniz dönen düğümü kullanabilirsiniz.
(Sadece PHP >= 4.3 için) Eğer yeni düğüm zaten ebeveyn düğümün çocuklarından biriyse önce eskisi silinir. Eğer mevcut değiştirgesinde NULL belirtilmişse yeni düğüm çocuk listesinin sonuna yerleştirilir.
DomNode::insert_before yöntemi DomNode::append_child yöntemine çok benzer. Aşağıdaki örneği DomNode::append_child yöntemindeki örnekle karşılaştırın.
Örnek 1 - Bir çocuk düğüm eklemek
<?php
include("example.inc");
if (!$dom = domxml_open_mem($xmlstr)) {
echo "Belge çözümlenirken hata oluştu\n";
exit;
}
$elements = $dom->get_elements_by_tagname("informaltable");
print_r($elements);
$element = $elements[0];
$newnode = $element->insert_before($element, $element);
$children = $newnode->children();
$attr = $children[1]->set_attribute("align", "left");
echo "<pre>";
$xmlfile = $dom->dump_mem();
echo htmlentities($xmlfile);
echo "</pre>";
?>
DomNode::insert_before
captainbajoo at juno dot com
11-May-2006 03:40
11-May-2006 03:40
