php DOMDocument 添加带有 DOCTYPE 声明的 标头

2024-02-12

我通过 DOMDocument 类向每个链接添加 #b 哈希。

        $dom = new DOMDocument();
        $dom->loadHTML($output);

        $a_tags = $dom->getElementsByTagName('a');

        foreach($a_tags as $a)
        {
            $value = $a->getAttribute('href');
            $a->setAttribute('href', $value . '#b');
        }

        return $dom->saveHTML();

这工作正常,但是返回的输出包括DOCTYPE声明和一份<head> and <body>标签。知道为什么会发生这种情况或者我该如何防止这种情况吗?


真正的问题是 DOM 的加载方式。使用这个代替:

$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

请为原答案点赞here https://stackoverflow.com/a/22490902/2546416.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php DOMDocument 添加带有 DOCTYPE 声明的 标头 的相关文章

  • 纠正装饰器模式的一个大缺点

    不久前 我在重构一些游戏战斗代码时决定尝试装饰器模式 战斗者可以拥有各种被动能力 也可能是不同类型的生物 我认为装饰器可以让我在运行时以各种组合添加行为 因此我不需要数百个子类 我几乎已经完成了 15 个左右的被动能力装饰器 在测试中我发现
  • 如何使用 PHP 正确添加跨站请求伪造 (CSRF) 令牌

    我正在尝试为我网站上的表单添加一些安全性 其中一个表单使用 AJAX 另一个表单是简单的 联系我们 表单 我正在尝试添加 CSRF 令牌 我遇到的问题是令牌有时只显示在 HTML 值 中 其余时间 该值为空 这是我在 AJAX 表单上使用的
  • Zend Framework 生成唯一的字符串

    我想生成一个唯一的 4 6 个字符长的字母数字字符串 以便与每个记录 用户 一起保存在数据库中 db 字段具有唯一索引 因此尝试保存预先存在的字符串会生成错误 现在我正在生成一个随机字符串并使用 try catch 因此在添加新记录时如果抛
  • 简单的 PHP 条件帮助: if($Var1 = in list($List) and $Cond2) - 这可能吗?

    这是一个可能的功能吗 我需要检查一个变量是否存在于我需要检查的变量列表中 并且 cond2 是否为 true 例如 if row name 1 2 3 Cond2 doThis 它对我不起作用 我在复制粘贴中更改的只是我的列表和变量名称 i
  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 如何解压 PHP/Lumen/Laravel 的 gzip 请求?

    我收到来自第三方的 gzip 编码文本请求 1mb 所以这是有道理的 我的测试路线 router gt post testgzip function Illuminate Http Request request decompressed
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • 检查 PHP 中“@”字符后面的单词

    我现在正在制作一个新闻和评论系统 但是我已经在一个部分上停留了一段时间了 我希望用户能够在 Twitter 上引用其他玩家的风格 例如 用户名 该脚本看起来像这样 不是真正的 PHP 只是想象脚本 3 string I loved the
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • Symfony2 Assetic 和 Less Sourcemaps

    我不确定如何破解 assetic less 过滤器以输出源映射文件 我这里指的是LessFilterhttps github com kriswallsmith assetic blob master src Assetic Filter
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 如何使用 PHPExcel 库从 Excel 获取日期

    我正在尝试使用 PHPExcel 从 Excel 获取日期 但我没有得到日期 我得到的字符串值不是 1970 以来的秒数 我尝试过的代码是 InvDate trim excel gt getActiveSheet gt getCell B
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • 将 apply 的管道输出传送到 centos 中的记录

    我正在尝试自动化 websocket 客户端的一些测试 该客户端根据命令连接到服务器 该服务器基本上是一个语音到文本引擎 客户端支持来自麦克风的音频流 这样人们就可以实时录制自己的声音并将其传输到引擎 我在 centos 虚拟机中运行客户端
  • 如何改变drawAtPoint中NSString的颜色

    我这里有一段代码 它绘制了一个带有单字符字符串的块 CGContextDrawImage context CGRectMake blok getLocation x xunit blok getLocation y yunit 40 40
  • 在 python setup.py data_files 中包含整个目录

    设置的 data files 参数采用以下格式的输入 setup data files target directory list of files to be put there 有没有办法让我指定整个数据目录 这样我就不必单独命名每个文
  • 模糊测试 XML 解析器

    我想对 XML 解析器进行模糊测试 并想知道是否有一些合适的模糊器 如果不仅能生成随机垃圾 还能利用 XSD 或 DTD 等现有模式规范 那就太好了 以下是我在几个月前的搜索过程中偶然发现的一些 XML 模糊器 untidy http so
  • 在 JEditorPane 中突出显示一个单词

    我必须突出显示某个单词在JEditorPane 为此 我使用以下代码 try javax swing text DefaultHighlighter DefaultHighlightPainter highlightPainter new
  • 是否可以通过用户操作或手动管理的触发器来解决 Promise?是的,所以我们能够形成可编辑的承诺

    我希望程序在完成某些用户操作后运行一系列操作 然而 链的一部分将需要等待先前 Promise 的解决或用户已执行某些操作的事实 Promise 可以这样工作吗 我想象理想的程序脚本是这样的 var coreTrigger Promise a
  • C# 中的日期和时间转换 - DateTime.ParseExact() 未按预期工作

    我有日期 时间格式 例如 2013 年 3 月 1 日 92230 根据这个文件 http msdn microsoft com en us library 8kb3ddd4 aspx and 这个链接 http www geekzilla
  • 在Web-Worker中同步等待消息

    是否有某种方法可以同步等待或检查网络工作人员中的新消息 我有一大堆复杂的代码 从 emscripten 编译的 LLVM 我无法围绕回调进行重构 我需要确保在收到并处理来自 UI 线程的消息之前 特定行之后的代码不会执行 如果我用 whil
  • 通过 TableExport.js 将表格上传到 Excel 时保持样式格式

    我在用着TableExport js导出我的html表到Excel文件 我可以导出表格 但在 Excel 工作表中css正在失败 帮助我解决这个问题 我在用着inline仅CSS 我在下面附上了我的代码
  • 通用枚举到可迭代转换器[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 HttpServletRequest 使用了大量 java util Enumeration 我想在
  • com.eed3si9n#sbt- assembly 的库依赖项;0.13.0:未找到

    我正在构建一个 sbt 插件 并希望在 sbt assemble 插件中引用程序集任务 取决于我的任务 为此 我需要将其作为库引用 而不是插件 但不知何故 sbt 无法将其解析为库依赖关系 这就是我的 sbt 的样子 sbtPlugin t
  • 如何使用CMake检测目标架构?

    我已经做了很多研究 但无法找到答案 我如何使用 CMake 可靠地找到我正在编译的目标架构 基本上相当于qmake中的QMAKE TARGET arch 大多数来源似乎建议使用 CMAKE SYSTEM PROCESSOR 但这是一个糟糕的
  • 如何在 Android 中实现 Webhook?

    例如我想要一个网址www example com status在我的 Android 应用程序中 我将观察该应用程序并将从服务器接收多个 POST 请求 对于每个 POST 请求 我都会触发一个功能 我不明白如何在 URL 上实现 24x7
  • 使用照片框架删除相机胶卷资源

    我正在编写一个测试应用程序 看看是否可以使用照片框架删除 iOS 8 中的 照片库 资源 尽管我怀疑这是不可能的 但我发现文档不清楚 并且该网站上的帖子似乎表明这是可能的 看here https stackoverflow com ques
  • 如何解决ssh:/usr/lib64/libcrypto.so.10:没有可用的版本信息[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试执行 ssh 并收到以下消息 ssh ssh usr lib64 libcrypto so 10 no version info
  • 如何在具有源图像的 Flutter 中覆盖资源图像?

    我对 Dart 和 Flutter 相当陌生 并且在从源图像覆盖现有资产图像时遇到困难 我的尝试 try File localFile File assets images myImage png localFile writeAsByte
  • 如何通过 Composer 为 PHP CLI 提供脚本(作为独立的和作为依赖项)

    我正在尝试编写一个我想从命令行运行的 PHP 脚本 我想使用 Composer 来管理其依赖项 并使其可以作为其他项目的依赖项进行安装 我还想保持单独使用它 及其依赖项 的能力 现在 main php是我的 入口点 我将从命令行执行的内容
  • Flutter Widgets 排列和事件

    我正在尝试在 Flutter 中构建一个表单 请看一下我到目前为止制作的屏幕图像 我对这个页面有几个问题 我怎样才能对齐DropDown按钮 项目和任务 以便它们将以相同的宽度拉伸并且它们的图标将位于相同的位置 另外 我怎样才能用某种边框装
  • 将 Solr HDFS 数据复制到另一个集群

    我有一个 solr 云 v 4 10 安装 位于 Cloudera CDH 5 4 2 HDFS 之上 有 3 个 solr 实例 每个实例托管每个核心的一个分片 我正在寻找一种将 solr 数据从生产集群增量复制到开发集群的方法 有 3
  • php DOMDocument 添加带有 DOCTYPE 声明的 标头

    我通过 DOMDocument 类向每个链接添加 b 哈希 dom new DOMDocument dom gt loadHTML output a tags dom gt getElementsByTagName a foreach a