在包含简单的HTML DOM库时,我收到以下警告:
警告: file_get_contents()函数.file-get-contents: php_network_getaddresses: getaddrinfo失败:未知此类主机。在第70行的C:\xampp\htdocs\simple_html_dom.php中
警告: file_get_contents(http://www.google.com/)函数.file-get-contents:无法打开流: php_network_getaddresses: getaddrinfo失败:未知主机。在第70行的C:\xampp\htdocs\simple_html_dom.php中
从http://sourceforge.net/projects/simplehtmldom/files/latest/download下载的simple_html_dom.php文件中的第70行是
$contents = file_get_contents($url, $use_include_path, $context, $offset);还有1个错误:
致命错误:在第15行对C:\xampp\htdocs\domdoc2.php中的非对象调用成员函数find()
其中代码的第15行(如下)是
foreach($html->find('img') as $element) 我在下面的代码中引用的网页是google.com代码:
<?php
include('simple_html_dom.php');
$html = new simple_html_dom();
$html = file_get_html('http://www.google.com/');
// Find all images
foreach($html->find('img') as $element)
echo $element->src . '<br>';
// Find all links
foreach($html->find('a') as $element)
echo $element->href . '<br>';
?>我做错了什么??
发布于 2012-06-22 15:27:29
这是因为你的主机无法解析DNS,当simplehtmldom使用file_get_contents而不是curl时就会发生这种情况。简单的HTML DOM Parser是一个很棒的HTML解析PHP类,但它很慢,因为它使用file_get_contents (几乎所有配置都禁用)而不是cURL (速度快4-5倍,有很多选项,几乎每个服务器都有它)。
只有file_get_contents会被替换,这样你就可以安全地覆盖以前的版本,一切都会像以前一样工作,只是速度更快
源代码链接:http://webarto.com/static/download/simple_html_dom.rar
//output should be
/intl/en_ALL/images/srpr/logo1w.png
http://www.google.com/webhp?hl=en&tab=ww
http://www.google.com/imghp?hl=en&tab=wi
http://maps.google.com/maps?hl=en&tab=wl
https://play.google.com/?hl=en&tab=w8
http://www.youtube.com/?tab=w1
http://news.google.com/nwshp?hl=en&tab=wn
https://mail.google.com/mail/?tab=wm
https://docs.google.com/?tab=wo
http://www.google.com/intl/en/options/
https://www.google.com/calendar?tab=wc
http://translate.google.com/?hl=en&tab=wT
http://www.google.com/mobile/?tab=wD
http://books.google.com/bkshp?hl=en&tab=wp
https://www.google.com/offers/home?utm_source=xsell&utm_medium=products&utm_campaign=sandbar&tab=wG#!details
https://wallet.google.com/manage/?tab=wa
http://www.google.com/shopping?hl=en&tab=wf
http://www.blogger.com/?tab=wj
http://www.google.com/reader/?hl=en&tab=wy
http://www.google.com/finance?tab=we
http://picasaweb.google.com/home?hl=en&tab=wq
http://video.google.com/?hl=en&tab=wv
http://www.google.com/intl/en/options/
https://accounts.google.com/ServiceLogin?hl=en&continue=http://www.google.com/
http://www.google.com/preferences?hl=en
/preferences?hl=en
/url?sa=p&pref=ig&pval=3&q=http://www.google.com/ig%3Fhl%3Den%26source%3Diglk&usg=AFQjCNFA18XPfgb7dKnXfKz7x7g1GDH1tg
http://www.google.com/history/optout?hl=en
/advanced_search?hl=en
/language_tools?hl=en
/intl/en/ads/
/services/
https://plus.google.com/116899029375914044550
/intl/en/about.html
/intl/en/policies/但是,如果您对PHP解析完全陌生,请考虑阅读:How do you parse and process HTML/XML in PHP?
发布于 2012-06-22 15:22:33
这与simple_html_dom没有任何关系。您的服务器无法访问internet,并且无法解析google.com。检查DNS设置,也许还有防火墙。
https://stackoverflow.com/questions/11151782
复制相似问题