- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 DOMDocument 加载一些用户贡献的 HTML block ,然后对其进行操作。看起来(假设我做的一切都正确)DOMDocument 正在通过 htmlentities 运行 href 属性内的 url。这使我的 anchor 标记在查询字符串中出现不正确。
例子:
$html = <<<HTML
<a href="http://foo.com?bar=baz&foo=bar">Foo</a>
HTML;
$dom = new DOMDocument;
$dom->loadHTML($html);
echo $dom->saveHTML();
输出变为(注意 url 中的 & 已转换为 &
):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><a href="http://foo.com?bar=baz&foo=bar">Foo</a></body></html>
此外,在调用 $dom->loadHTML($html);
期间输出以下警告...
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 1
我不知道那是什么意思。
我错过了什么吗?
最佳答案
& 符号在有效/兼容的 XHTML 中用于确定 HTML 实体字符。
查看此引用列表: http://www.w3schools.com/tags/ref_entities.asp
您的 DOMDocument 正在提示,因为它在进入途中检测到无效字符定义,并在离开时更正了它。
关于php - DOMDocument saveHTML 错误地编码 href 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13753948/
我想知道如何将 animation 包 (R) 中的 saveHTML 小视频嵌入 beamer 或 ioslides 演示文稿中? 有什么简单的方法吗? 你会推荐什么? 最佳答案 对于 ioslid
为什么这个代码: $doc = new DOMDocument(); $doc->loadHTML($this->content, LIBXML_HTML_NOIMPLIED | LIBXML_HTM
所以我从 API 中提取 xml,我的目标是将该 xhtml 作为 html 保存在文件中以供用户查看。 问题是,保存的 html 文件有一些它不应该有的新的奇怪实体。这是一个例子。 这是提取的 xh
我使用 DOMDocument操作 html 和 php 7。问题是文本在页面上显示良好(西里尔文),但是当我转到“查看 HTML 页面源代码”时,它并不好。它显示如下: Зд
我正在将一些 html 文件传输到其他服务器。我所做的是,我采用原始 html,我做了一些解析以摆脱 head 和东西。 libxml_use_internal_errors(true); $full
在我的代码中,我有 $document = DomDocument->loadHTML($someHTML); $xPath = new DOMXPath($document); // //do so
我需要分享一个使用 Julia 中的 PlotlyJS 包制作的交互式绘图。根据 PlotlyJS.jl 包的文档,我需要使用“savehtml”函数并将“js”参数设置为“:embed”以便离线查看
我正在使用 XPath 从我的 DomDocument 中获取一些段落。这工作正常并返回我所需的数据。 问题是在做时: foreach ($paragraph->childNodes as $chil
我一直在努力保存一段webpage的源代码使用PHP。当我提取整个网页的内容时,源代码顺序被保留但是当我尝试使用 $dom = new DOMDocument; $dom->loadHTML($web
我有一个动态 PHP 页面,单击按钮更改链接到它的 css 文件,我已经完成了将所选 css 文件保存到 session 的操作,因此用户在 session 期间将始终拥有所选的 css 文件。 我的
如果我使用 saveHTML() 而没有可选的 DOMnode 参数,它会按预期工作: $html = '123456'; $dom = new DOMDocument; $dom->preserve
我正在使用 DOMDocument 加载一些用户贡献的 HTML block ,然后对其进行操作。看起来(假设我做的一切都正确)DOMDocument 正在通过 htmlentities 运行 hre
我的目标是将自定义数据属性添加到 div和 ul containers 如果该容器使用特定类。我从包含有效 HTML(完整的 div 及其内容和结尾 )或仅包含开头 div 的 HTML 片段开始(
使用 DOMDocument() ,我正在替换 $message 中的链接并添加一些内容,例如 [@MERGEID]。当我使用 $dom_document->saveHTML() 保存更改时,链接得到
我在一个返回 saveHTML() 的类中有几个函数。在我回显类 saveHTML() 中的多个函数后,它重复了一些 HTML。我最初通过执行 saveHTML($node) 解决了这个问题,但现在这
我需要一种方法来增加由 saveHTML() 创建的 png 文件的分辨率。 这是我正在尝试执行的虚拟脚本,而实际上 plot() 是许多嵌套循环: x 1。如果您指定选项 ani.height 和/
我已经下载了 Lutz Roeder 的 Html Writer 以用于 .NET WinForms 应用程序,以避免 SO 上其他线程中提到的 IE 依赖性问题。 HtmlControl 类 Sav
为什么 var_dump 不能与 DOMDocument 一起使用对象,而 print($dom->saveHTML()) 产生输出? 最佳答案 更新:从 PHP 5.4.1 开始,您终于可以var_
我是一名优秀的程序员,十分优秀!