PHP Conference Japan 2024

DOMElement::replaceWith

(PHP 8)

DOMElement::replaceWith用新节点替换元素

描述

public DOMElement::replaceWith(DOMNode|string ...$nodes): void

用新的nodes替换元素。

参数

nodes

替换节点。字符串会自动转换为文本节点。

返回值

不返回值。

错误/异常

DOM_HIERARCHY_REQUEST_ERR

如果父元素的类型不允许包含传递的nodes类型之一的子元素,或者要插入的节点是该节点的祖先节点或该节点本身,则会引发此异常。

DOM_WRONG_DOCUMENT_ERR

如果传递的nodes之一是由与创建此节点的文档不同的文档创建的,则会引发此异常。

变更日志

版本 描述
8.3.0 现在,对没有父节点的节点调用此方法将不再执行任何操作,以使其行为与 DOM 规范一致。以前,这会抛出一个代码为DOM_HIERARCHY_REQUEST_ERRDOMException

示例

示例 #1 DOMElement::replaceWith() 示例

用新节点替换元素。

<?php
$doc
= new DOMDocument;
$doc->loadXML("<container><hello/></container>");
$cdata = $doc->documentElement->firstChild;

$cdata->replaceWith("beautiful", $doc->createElement("world"));

echo
$doc->saveXML();
?>

以上示例将输出

<?xml version="1.0"?>
<container>beautiful<world/></container>

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top