DOMNode->insertBefore()
DOMNode->insertBefore() — 参照しているノードの前に新しい子を追加する
説明
class DOMNode {DOMNode insertBefore ( DOMNode newnode [, DOMNode refnode] )
} この関数は、参照しているノードの直前に新しいノードを挿入します。 追加するノードに対して変更を加えたい場合は、この関数から返される ノードを使用します。
パラメータ
- newnode
-
新しいノード。
- refnode
-
参照ノード。指定されなかった場合は、newnode
が子要素として追加されます。
返り値
挿入されたノードを返します。エラー / 例外
- DOM_NO_MODIFICATION_ALLOWED_ERR
-
このノードが読み込み専用であったり、挿入されるノードの以前の親が
読み込み専用であった場合に発生します。
- DOM_HIERARCHY_REQUEST_ERR
-
newnode で指定した型の子ノードを
保持することが許可されていない場合、あるいは追加しようとしている
ノードが自分自身やその祖先であった場合に発生します。
- DOM_WRONG_DOCUMENT_ERR
-
newnode が、このノードとは別の
ドキュメントで作成されたものである場合に発生します。
- DOM_NOT_FOUND
-
refnode がこのノードの子ではない場合に
発生します。
DomNode->insert_before
DomNode->insert_before — 新規ノードを子ノードとして挿入する
説明
domelement DomNode->insert_before ( domelement newnode, domelement refnode )この関数は新規ノード newnode をノード refnode の直前に挿入します。 戻り値は挿入されたノードです。 もし追加された子ノードを変更するつもりであれば、 返されたノードを使用する必要があります。
(PHP >= 4.3 のみ) newnode がすでに文章の一部である場合、最初に既存のコンテキストから削除されます。 もし refnode が NULL の場合、 newnode は子ノードリストの最後に挿入されます。
domnode_insert_before() は domnode_append_child() に非常に似ており、 以下の例は domnode_append_child() にある例と同様のことを行うことを示しています。
例 538. 子ノードを追加する
<?php
include("example.inc");
if (!$dom = domxml_open_mem($xmlstr)) {
echo "Error while parsing the document\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_append_child() も参照ください。
Weblioに収録されているすべての辞書からDOMNode->insertBefore()を検索する場合は、下記のリンクをクリックしてください。

- DOMNode->insertBefore()のページへのリンク