嘿伙计们我有这个代码:
<?php
include './simple_html_dom.php';
//this link exists
$teste = new simple_html_dom("http://www.btolinux.com.br/");
echo $teste->original_size."<br>";
if($teste->original_size !== 0){
$teste->find("html");
}
//At this time I'm forcing get a 404 error link.
$teste = new simple_html_dom("http://www.btolinux.com.br/error/");
echo $teste->original_size."<br>";
if($teste->original_size !== 0){
$teste->find("html");
}
//Now I'm get the correct link again. Why the error persists?
$teste = new simple_html_dom("http://www.btolinux.com.br/");
echo $teste->original_size."<br>";
if($teste->original_size !== 0){
$teste->find("html");
}
?>
因此,在我的代码中,当我发现404错误链接时,在使用相同类创建的下一个对象中,错误仍然存在。 我该如何解决这个问题?
要尝试此代码,请在http://sourceforge.net/projects/simplehtmldom/files/
中获取Simple_dom_php答案 0 :(得分:1)
尝试使用@来避免警告,如下所示:
<?php
//CORRECT
$url = "http://www.btolinux.com.br/";
$html = @file_get_contents($url);
if ($html!='') {
$teste = new simple_html_dom($url);
echo 'SIZE: '.$teste->original_size."<br>";
}
//ERROR
$url = "http://www.btolinux.com.br/error/";
$html = @file_get_contents($url);
if ($html!='') {
$teste = new simple_html_dom($url);
echo 'SIZE: '.$teste->original_size."<br>";
}
?>
答案 1 :(得分:1)
试试这段代码:
<?php
require_once("./simple_html_dom.php"); # simplehtmldom.sourceforge.net
$url="http://www.btolinux.com.br/";
$url404="http://www.btolinux.com.br/error/";
$teste = @file_get_html($url);
if ($teste && $teste->original_size) {
echo $teste->original_size."<br>\n";
$html = $teste->find("html");
}
$teste = @file_get_html($url404);
if ($teste && $teste->original_size) {
echo $teste->original_size."<br>\n";
$html = $teste->find("html");
}
$teste = @file_get_html($url);
if ($teste && $teste->original_size) {
echo $teste->original_size."<br>\n";
$html = $teste->find("html");
}
?>
我的输出是:
61206<br>
61206<br>
答案 2 :(得分:0)
您是否尝试过首先使用file_get_contents()? 例如,如果您使用代码:
<?php
print_r(file_get_contents("http://www.btolinux.com.br/error/"));
?>
您会发现错误,然后您可以尝试抓住它。
答案 3 :(得分:0)
建议:
$teste = new simple_html_dom();
$teste->load_file("http://www.btolinux.com.br/");
...
...或......
$teste = file_get_html("http://www.btolinux.com.br/");