我正试图从网址中检测出一些东西。
它是否有特定的div
$url = 'http://www.google.com/aasdsasdfafddsgsagf';
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$request = $dom->loadHTMLFile($url);
$DOMxpath = new DOMXPath($dom);
$title = $DOMxpath->query("//span[@class='bluebar']")
if(!$request || $title->length == 0){
echo 'failed!!';
}
我想要达到这个条件:
如果页面加载且不拥有div - 则不执行任何操作。
如果页面没有加载 - 什么都不做。
现在我收到此错误,该错误会停止正常运行后的所有内容。
错误:
Warning: DOMDocument::loadHTMLFile(http://www.google.com/aasdsasdfafddsgsagf): failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in...
我仍然得到回音'失败!!'。
请帮助!!
答案 0 :(得分:0)
如果我正确理解您的问题,可以通过抑制警告来解决您的问题。这可以通过在{em> Error Control Operator $dom->loadHTMLFile($url)
上添加@
来完成。
$request = @$dom->loadHTMLFile($url);
在示例中,设置$title
后缺少分号。这会导致PHP Parse error
。此代码将执行您想要的操作:
$url = 'http://www.google.com/aasdsasdfafddsgsagf';
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$request = $dom->loadHTMLFile($url); // $request === false
$DOMxpath = new DOMXPath($dom);
$title = $DOMxpath->query("//span[@class='bluebar']");
if(!$request || $title->length == 0){
echo 'failed!!';
}