【发布时间】:2012-02-24 12:40:14
【问题描述】:
我有一个非常简单的代码:
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($data);
libxml_clear_errors();
$dom->preserveWhiteSpace = false;
foreach($dom->getElementsByTagName('img') as $img) {
// do something here
}
变量 $data 包含来自外部 URL 的 HTML。好的,如果我使用我的本地网络服务器使用 PHP 5.3.6 测试此代码,它可以工作并返回该页面中的所有 img 标签,但是在另一台使用 PHP 5.3.3 的服务器上运行的相同代码不起作用!它不会从 SAME $data 值返回所有 img 标签...它只返回前 13 张图像。
我怀疑这与编码有关,可能是 $data 中的某些字符编码错误或其他什么,但我不知道如何解决。 PHP 5.3.3 上存在与此相关的已知错误?
【问题讨论】:
-
您是否在每次安装时使用不同的 libxml 版本?你得到什么 libxml 错误?将
DOMXPath与查询//img一起使用也不会显示任何内容吗?
标签: php encoding domdocument