问题标签 [domdocument]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 遍历 html 搜索第一级块
除了我关于分析 html 和搜索<p> and <ul>/<ol>
标签这个问题的其他问题。
这就是我有多远。将 $out 作为包含以下内容的数组的方法是什么:
提前致谢!我真的迷失在 domdocument 结构中。
php - 带有 åäö 的 PHP DOMDocument (UTF-8)
我有一个带有表单的 HTML/PHP5 页面,然后当它发布时,它会创建一个 XML 文件,其中表单输入作为数据。
但所有åäö看起来就像我用过utf8_encode()
它们一样。我不能utf8_decode()
,因为我将 XML 文件发送到的“服务”抱怨不是 UTF-8(就像它应该的那样)。
解析器失败。原因:2:解析器错误:输入不正确的UTF-8,表示编码!字节:0xE5 0x73 0x61 0x2E
我已经尝试过 m ,而是像withb_convert_encoding()
一样发送数据并在 php.ini 中进行了更改,但没有任何效果像预期的那样。CDATA
htmlentities()
default_charset = "utf-8"
我应该怎么办?
php - 如何从输出中排除 XML 序言?
我写$xml = new DOMDocument();
,它会自动创建<?xml version="1.0"?>
. 我不需要创建它。我怎么做?
一种解决方案是在第一个 < 找到的索引处搜索第一个 ">" 和 strsub。但我喜欢更好的方式来做到这一点。
php - DOMDocument 解析 (php)
我正在从 API 解析一个 xml 文件,该 API 已在 php 中转换为 DOMDocument。这大部分都很好,但我遇到的一个问题是当我这样做时:
作为 forall 语句的一部分,并且元素 extra 不存在于我在 forall 条件下迭代的一个提要项中,然后我得到一个错误。
我试过这个:
但我得到了错误
注意:当每个提要项中都包含“额外”元素时,代码运行完美。只是当其中一个提要项目不包含“额外”元素时,我才收到错误消息。
php - PHP DOMDocument获取标签的属性
您好,我有一个 xml 格式的 api 响应,其中包含一系列项目,例如:
我想使用 DOMDocument 从标签“媒体:文件”中获取属性“数据”。我在下面的尝试不起作用:
我究竟做错了什么?请帮忙。
编辑:由于某种原因,我不能发表评论,马克。我得到错误
当我运行我的代码时。我也试过
其中 uri 是与媒体名称空间(NS)相关的 uri,但同样的问题。
请注意,媒体元素的形式不是我认为这是问题的一部分,因为我通常没有解析属性的问题。
php - PHP DOMDocument,只需要第一项
您好,我过去使用过 DOMDocs,但我被困在如何做到这一点。
我只想要标签“数据”的第一个实例。通常我会写一个 foreach 循环:
对每个 feeditem 做我想做的事,但在这里我只想要第一个 $feeditem。$feeditem 不是一个数组,它是一个 DOMdoc 对象,所以我不能 $feeditem[0] 选择第一个“数据”标签。
感谢您对此的任何帮助。
php - PHP DomDocument 用 HTML 保存 XML
如何保存使用 DomDocument 打开的 XML 文件,以使里面的 HTML 不会被编码为 HTML 实体?
php - 如何使用 php 创建 XML 文件并提示下载?
我正在使用 domdocument 创建一个 xml 文件:
当我单击此文件的链接时,它只是将其显示为 xml 文件。如何提示下载?此外,我如何提示将其下载为“backup_11_7_09.xml”(插入今天的日期并将其作为 xml)而不是 php 文件的真实名称“backup.php”
domdocument - PHP 命令行脚本忽略 php.ini 和 ini_set('memory_limit',...) 指令
我面临常见的“致命错误:内存不足(分配 30408704)(试图分配 24 个字节)......”PHP 致命错误。通过 Apache 提供的页面没有表现出这种行为。
我尝试了以下方法:
- 将 php.ini 中的 memory_limit 增加到更大的值。
- 通过调用
ini_set('memory_limit', -1)
,ini_set('memory_limit', '-1')
,ini_set('memory_limit', 100000000)
,ini_set('memory_limit', '128M')
等来增加脚本本身的 memory_limit。 unset()
ing 不需要的数组和对象,以鼓励垃圾收集器释放内存。- 联系网络主机。他们通常非常有能力和知识渊博,但也无法帮助我解决这个问题。
- 我已经尝试使用
-c
命令行标志明确包含一个 php.ini 文件,以手动选择具有各种值的特定 php.ini 文件。 - 我尝试使用原始字节数和值(例如 64M、128M 等)在 php.ini 中设置 memory_limit。
- 托管服务提供商能够以 root 身份运行脚本而没有任何问题,但在使用非 root 用户运行脚本时遇到了同样的问题。也许涉及某种权限问题?
无论我尝试什么,错误消息都是一样的。看来我的命令行脚本忽略了对memory_limit
.
我倾向于尝试确保我的脚本具有内存效率,但我目前需要通过简单的 HTML DOM解析大量的 HTML,并且在解析器中我遇到了内存不足的问题。为了减少脚本的内存占用,我尝试使用DOMDocument代替。这也无济于事。事实上,内存不足错误现在在脚本的其他地方触发。
我的问题:有没有人遇到过这个或类似的问题?你有什么建议?
谢谢你。
php - DOMElement 克隆和附加:“错误的文档错误”
关于使用 PHP 的 DOM api 进行节点克隆,我并不完全了解。这是一个示例文件,可以快速复制我遇到的问题。
当您运行这个小片段时,会引发异常
致命错误:未捕获的异常“DOMException”和消息“错误文档错误”
我不能从文档中抓取一个节点,克隆它,然后将它附加到另一个文档吗?