我正在尝试解析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()方法解析的元素内部的纯文本。在Internet Explorer中我得到一个空的结果。似乎没有找到具体的元素。
例如,如果我这样做:
foreach ($html->find('img') as $img) {
$pre[] = $img->src;
}
print_r($pre);die();
我得到的结果我想要在chrome和Internet Explorer中。 (返回字符串中所有图像的src属性)
有什么想法? 感谢
答案 0 :(得分:0)
问题是Internet Explorer将颜色的十六进制值(例如:#666666
)替换为它的rgb值(rgb(102, 102, 102)
)。所以我不得不为IE做一个特例。