问题标签 [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 - 在使用 DOMDocument 函数处理之前修复 PHP 中格式错误的 XML
我需要将来自外部源的 XML 文档加载到 PHP 中。XML 未声明其编码并包含非法字符,例如&
. 如果我尝试直接在浏览器中加载 XML 文档,我会收到诸如“在文本内容中发现无效字符”之类的错误,在 PHP 中加载文件时也会收到很多警告,例如:xmlParseEntityRef: no name in Entity
和Input is not proper UTF-8, indicate encoding ! Bytes: 0x9C 0x31 0x21 0x3C
.
很明显,XML 格式不正确,并且包含应转换为 XML 实体的非法字符。
这是因为 XML 提要由许多其他用户提供的数据组成,并且在我得到它之前显然没有经过验证或重新格式化。
我已经与 XML 提要的供应商进行了交谈,他们说他们正试图让内容提供者对其进行整理,但这似乎很愚蠢,因为他们应该首先验证输入。
我基本上需要修复 XML,纠正任何编码错误并将任何非法字符转换为 XML 实体,以便在使用 PHP 的 DOMDocument 函数时出现 XML 加载问题。
我的代码目前看起来像:
显示编码问题的示例 XML 文件(点击下载):feed.xml
包含尚未转换为 XML 实体的字符的示例 XML:
php - DOMDocument::loadXML 与 HTML 实体
我目前在阅读 XHTML 时遇到问题,因为 XML 解析器无法识别 HTML 字符实体,因此:
结果是:
Warning: DOMDocument::loadXML() [domdocument.loadxml]: Entity 'copy' not defined in Entity, line: 8 in testing.php on line 19
如何在允许自己将页面作为 XHTML5 提供服务的同时解决此问题?
php - DOMDocument->saveHTMLFile 保存转义文本
我正在尝试将一串 html 保存到 PHP 中 DOMElement 的 nodeValue 属性中,但是在我使用 DOMDocument->saveHTMLFile 保存文件后,HTML 字符串被转义,我无法弄清楚如何获取不保存的字符串作为转义文本。有任何想法吗?
php - PHP DOMDocument,查找特定元素
我正在寻找使用 PHP DOMDocument 的 HTML 文档中特定元素的特定属性。
具体来说,有一个具有唯一类集的 div,其中只有一个跨度。我需要检索该 span 元素的样式属性。
例子:
对于此示例,由于 uniqueClass 是文档中该类的唯一实例,我需要检索字符串:
文本对齐:居中;
php - PHP:DomElement->getAttribute
如何获取元素的所有属性?就像下面的示例一样,我一次只能获取一个,我想提取所有锚标记的属性。
谢谢!
php - PHP DOMDocument - 获取 BODY 的 html 源代码
我正在使用 PHP 的 DOMDocument 来解析和规范化用户提交的 HTML,使用该loadHTML
方法解析内容,然后通过以下方式获得格式正确的结果saveHTML
:
这很好地解析了片段并添加了适当的结束标签。问题是我还得到了一堆我不想要的标签,例如<!DOCTYPE>
,和. 我知道每个格式良好的 HTML 文档都需要这些标签,但是我正在规范化的 HTML 片段将被插入到现有的有效文档中。<html>
<head>
<body>
php - 从 XML PHP5 获取内容
我正在研究支付解决方案,需要一些 PHP 帮助。我正在做一个 HTTPRequest,作为回应,我会得到一些 XML。XML 可能如下所示:
基本上我想做的是从标签中获取内容并将它们保存在字符串中。
我试过这个:
但显然有什么问题,因为它不会回应任何东西.. 建议?
php - 使用 PHP Dom 解析格式错误的 HTML
我有一个客户希望他们的视频(由第三方提供)显示在他们的网站上。该网站使用 swfobject 来显示视频,所以我认为最容易抓住它并稍微修改它,以便它可以在客户的网站上运行。
使用 PHP DOMDocument 似乎是可行的方法,但不幸的是,所提供的 HTML 格式不正确并导致心脏病发作。是否有可能让它忽略 HTML 中的错误,或者我可以这样做的替代方法?
php - Salesforce/PHP - 出站消息 (SOAP) - 内存限制问题?DOMDocument::loadXML() 标签问题中的数据过早结束?
更新:
好的,我想通了,看起来 fread 有文件大小限制,将其更改为
file_get_contents('php://input')
,但现在让 SF 给出 java.net.SocketTimeoutException: Read timed out 错误,而 PHP 端什么也没有。我还添加了 set_time_limit(0); 到 PHP 脚本,如果我理解正确,只要它需要执行脚本。有什么想法吗?
顺便说一句:我最多可以处理 25 个(我已经测试过)但不能处理 100 个
我正在使用 Salesforce 将出站消息(通过 SOAP)发送到另一台服务器。服务器一次可以处理大约 8 条消息,但如果 SOAP 请求包含超过 8 条消息,则不会发回 ACK 文件。SF 可以在 1 个 SOAP 请求中发送多达 100 条出站消息,我认为这会导致 PHP 出现内存问题。如果我一个接一个地处理出站消息,它们都可以正常处理,我什至可以一次处理 8 个,没有任何问题。但是更大的套装不起作用。
SF中的错误:
查看 HTTP 错误日志,我看到传入的 SOAP 消息似乎正在被截断,这会引发 PHP 警告,说明:
PHP致命错误:
这让我相信 PHP 存在内存问题,并且由于它的大小而无法解析传入的消息。
我在想我可以设置:
但这会是正确的方法吗?有没有办法可以将其设置为随着传入的 SOAP 请求动态增加?
更新:添加一些代码
来自 Salesforce 的示例 SOAP 请求,将有多个通知节点添加到更大的请求中。
php - html到带有domdocument类的文本
如何获取没有html标签的html页面源代码?例如:
我需要这个结果:
我也需要标题和 alt 属性。主意?