gpt4 book ai didi

php - DOMDocument saveHTML 错误地编码 href 属性

转载 作者:搜寻专家 更新时间:2023-10-31 21:13:38 29 4
gpt4 key购买 nike

我正在使用 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&amp;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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com