简单的html_dom_parser在IE浏览器中不起作用


Simple html_dom_parser not working in Internet explorer

我正在尝试解析一个html网页。它在Chrome中工作正常,但在Internet Explorer 10中失败;

这是我的代码:

//the content variable is a string with the html markup
$html = str_get_html($content);
$element = $html->find('div[style="width: 460px; padding-bottom: 20px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #666666;"]', 0);
$tmp = $element->plaintext;
print($tmp);die();

在谷歌浏览器中,我得到了我想要的结果,只是我使用 find() 方法解析的元素内的纯文本。在IE浏览器中,我得到一个空的结果。似乎没有找到特定的元素。

例如,如果我这样做:

foreach ($html->find('img') as $img) {
    $pre[] = $img->src;
}
print_r($pre);die();

我在Chrome和Internet Explorer中都得到了我想要的结果。(返回字符串中所有图像的 src 属性)

有什么想法吗?谢谢

问题是 Internet Explorer 将颜色的十六进制值(例如:#666666)替换为它的 rgb 值 ( rgb(102, 102, 102) )。所以我不得不为IE做一个特例。