PHP DOMDocument怎么创建和插入一个新节点


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 片段,否则会警告或失败。

基本上就这些。记住:节点得先“生出来”,再“安家落户”,中间别漏了找父节点这一步。


# php  # html  # node  # app  # red  # xml  # 字符串  # 的是  # 进阶  # 这是  # 安家落户  # 已有  # 点击这里  # 可选  # 四种  # 则会  # 插在 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化76771 】 【 技术知识130152 】 【 IDC云计算60162 】 【 营销推广131313 】 【 AI优化88182 】 【 百度推广37138 】 【 网站推荐60173 】 【 精选阅读31334


相关推荐: Win11任务栏天气怎么关闭 Win11隐藏天气小组件图标【设置】  Win11怎么关闭防火墙通知_屏蔽Win11安全中心安全警告弹窗【技巧】  Win11怎么开启HDR模式_Windows 11高动态范围显示设置指南【详解】  Win11用户账户控制怎么关_Win11关闭UAC弹窗提示【设置】  Win11文件扩展名怎么显示 Win11查看文件后缀名设置【步骤】  Python类装饰器使用_元编程解析【教程】  Python与MongoDB NoSQL开发实战_文档模型与索引优化  Windows任务计划服务异常原因_任务调度失败的处理方案  PHP的FastAdmin架构适合二次开发吗_特点分析【介绍】  全球各国上班时间表外贸邮件时间  Win11怎么关闭粘滞键_彻底禁用Windows 11连按Shift粘滞键【步骤】  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Windows10如何更改任务栏高度_Win10解除锁定调整大小  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Python音视频处理高级项目教程_FFmpegPydub剪辑与特效  Mac系统更新下载慢或失败怎么办_解决macOS升级问题【方法】  Win11怎么关闭用户账户控制UAC_Windows11更改通知设置等级  php怎么下载安装后设置错误日志_phpini log配置教程【汇总】  如何使用Golang实现Web表单数据绑定_自动映射字段到结构体  如何使用Golang实现容器安全扫描_Golang Docker镜像漏洞检测方法  Windows如何查看和管理已安装的字体?(字体文件夹)  Win11怎么关闭自动调节亮度 Win11禁用内容自适应亮度【设置】  MySQL 中使用 IF 和 CASE 实现查询字段条件化显示  c++如何获取map中所有的键_C++遍历键值对提取所有key的方法  Python高性能计算项目教程_NumPyCythonGPU并行加速  Linux如何申请SSL免费证书_Linux下Certbot安装与Nginx自动续期【指南】  Windows10系统怎么查看系统版本_Win10运行winver命令查询  PHP 中如何在函数内持久修改引用变量所指向的目标  php嵌入式需要什么环境_搭建php+linux嵌入式开发环境【详解】  Win11怎么设置麦克风权限_允许应用访问Win11麦克风【详解】  c++ try_emplace用法_c++ map高效插入数据  Go 中 defer 在 goroutine 内部不生效的原因与执行时机详解  Windows蓝屏错误0x00000023怎么修复_FAT文件系统错误处理  MAC如何隐藏文件夹及文件_MAC终端命令隐藏与第三方工具加密【教程】  PythonGIL机制理解_多线程限制解析【教程】  php后缀怎么变mp4能播放_让php伪装mp4正常播放的技巧【技巧】  如何在Golang中编写异步函数测试_Golang异步操作测试策略  Go 语言标准库为何不提供泛型 Contains 方法?  windows如何禁用驱动程序强制签名_windows高级启动设置指南  Python与GPU加速技术_CUDA与Numba高性能计算实践  PHP主流架构怎么集成Redis缓存_配置步骤【方法】  php转exe用什么工具打包快_高效打包软件推荐【汇总】  Python数据抓取合法性_合规说明【指导】  Win11如何开启系统更新 Win11开启系统更新方法【步骤】  如何在Golang中配置代码格式化工具_使用gofmt和goimports  Windows10系统怎么查看已安装更新_Win10控制面板卸载补丁  Win11怎么更改盘符_Win11磁盘管理修改驱动器号【步骤】  php转mp4怎么设置帧率_调整php生成mp4视频帧率说明【说明】  如何使用Golang实现路由分组管理_Golang路由分组与权限控制方法  PythonPandas数据分析教程_数据清洗与处理技巧 

 2026-01-05

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

致胜网络推广营销网


致胜网络推广营销网

致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 915688610

 17370845950

 915688610@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.