array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'domdocument.createelement.php', 1 => 'DOMDocument::createElement', ), 'up' => array ( 0 => 'class.domdocument.php', 1 => 'DOMDocument', ), 'prev' => array ( 0 => 'domdocument.createdocumentfragment.php', 1 => 'DOMDocument::createDocumentFragment', ), 'next' => array ( 0 => 'domdocument.createelementns.php', 1 => 'DOMDocument::createElementNS', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/dom/domdocument/createelement.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
DOMDocument::createElement — 新しい要素ノードを作成する
この関数は、DOMElement クラスの新しいインスタンスを作成します。 このノードは、( DOMNode::appendChild() などで) 挿入されない限り、ドキュメント内にあらわれません。
localName
要素のタグ名。
value
要素の値。デフォルトでは、空の要素が作成されます。 その後に DOMElement::$nodeValue で値を設定することも可能です。
指定した値はすべてそのまま用いますが、エンティティ参照 < と > だけはエスケープします。& は手動でエスケープする必要があることに注意しましょう。 そうしないと、エンティティ参照の開始とみなされてしまいます。また、" はエスケープされません。
新しい DOMElement クラスの新しいインスタンス、
あるいはエラーが発生した場合は false
を返します。
例1 新しい要素を作成し、ルートとして挿入する
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('test', 'This is the root element!');
// 新しい要素をルート (ドキュメントの子要素) として挿入する
$dom->appendChild($element);
echo $dom->saveXML();
?>
上の例の出力は以下となります。
<?xml version="1.0" encoding="utf-8"?> <test>This is the root element!</test>
例2 & をエスケープせずに value
に渡す例
<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'me & you');
$dom->appendChild($element);
echo $dom->saveXML();
?>
上の例の出力は、 たとえば以下のようになります。
Warning: DOMDocument::createElement(): unterminated entity reference you in /in/BjTCg on line 4 <?xml version="1.0" encoding="utf-8"?> <foo/>
注意:
value
は エスケープされません。 エスケープに対応した テキストノードを作るには DOMDocument::createTextNode() を使います。