2012-04-12 82 views
0

为什么我收到以下错误PHP - 错误与DOM文档

Call to a member function getElementsByTagName() on a non-object 

错误发生在下面一行:

$title = $htm->getElementsByTagName('title'); 

当我运行下面的代码:

$dom = new DOMDocument(); 

    foreach ($all as $blog) { 

    sleep(1); 

    $htm = $dom->loadHTML(fetch_url('http://' . rtrim(preg_replace('/^http:\/\//i', '', $blog['blogurl']), '/'))); 

    if ($htm) { 

     //check TITLE 

     $title = $htm->getElementsByTagName('title'); 

     $title = $title->item(0)->nodeValue; 

     if (preg_match('/private/i', $title)) { 

     private_blog($blog['id']); 

     $title = null; 
     unset($title); 
     gc_collect_cycles(); 
     continue; 
     } 
    } 
} 

回答

0

刚在该行中替换$htm$dom

$title = $dom->getElementsByTagName('title'); 
     ^^^^ 

进一步提高在上面的其他线重命名$htm变量:

$loadResult = $dom->loadHTML(fetch_url('http://' . rtrim(preg_replace('/^http:\/\//i', '', $blog['blogurl']), '/'))); 
^^^^^^^^^^^ 
if ($loadResult) { 
    ^^^^^^^^^^^