php中DOMDocument操作节点分三步:创建节点(createElement)、设置内容或属性(textContent/setAttribute)、插入目标位置(appendChild等)。

PHP 的 DOMDocument 创建和插入新节点,核心是三步:创建节点 → 设置内容或属性 → 插入到目标位置。下面直接说清楚怎么操作,不绕弯。
创建新元素节点
用 createElement() 创建标签,比如想加一个
或
:
$doc = new DOMDocument(); $doc->loadhtml(''); // 创建 标签 $p = $doc->createElement('p'); // 可选:设置文本内容(相当于 innerText) $p->textContent = '这是新段落'; // 也可用 createTextnode() + appendChild 组合(更灵活)
创建带属性的节点
创建完元素后,用 setAttribute() 加属性:
$link = $doc->createElement('a'); $link->setAttribute('href', 'https://example.com'); $link->setAttribute('class', 'btn'); $link->textContent = '点击这里';
插入到文档中(关键!)
插入必须指定父节点,常见方式有四种:
立即学习“PHP免费学习笔记(深入)”;
- appendChild():加到末尾(最常用)
- insertBefore():插在某个子节点前面
- replaceChild():替换已有节点
- prependChild()(PHP 8.2+):加到开头(旧版需手动处理)
示例:把上面的
插入到 里:
// 先找到 body(注意:loadHTML 后 body 是子节点之一) $body = $doc->getElementsByTagName('body')->item(0); if ($body) { $body->appendChild($p); // ✅ 成功插入 }
插入文本或 HTML 片段(进阶)
如果要插入带标签的 HTML 字符串(比如 加粗),不能直接用 textContent,得用 createDocumentFragment():
$fragment = $doc->createDocumentFragment(); $fragment->appendxml('红色文字'); $p->appendChild($fragment); // 这样才能解析 HTML
注意:appendXML() 要求传入的是格式良好的 XML/HTML 片段,否则会警告或失败。
基本上就这些。记住:节点得先“生出来”,再“安家落户”,中间别漏了找父节点这一步。