0

dom()用来解析 HTML 中的内容。基本上在 tag 里面<img class="logo">

$this->dom->find('img[class=logo]')用来获取价值。

但是在执行此操作时,有时我会遇到没有上述指定标记的 HTML。

在这种情况下,它会引发错误 -Fatal error: call to member function find() on non-object

我不希望发生这种错误。相反,如果找不到指定的标签,我想跳过。

我也尝试过 try-catch 来跳过错误,但它不能正常工作。

这是我的代码,

try {
    foreach ($this->dom->find('img[class=logo]') as $result) {
        //echo $result->src."\n";
        $li_img = $result->src;
    }
    if(!isset($li_img))
        return;
    else
        return $li_img;
} catch(Exception $e) {
    return;
}

dom如果找不到标签,我想跳过。它现在正在抛出错误。

任何帮助,将不胜感激。

4

1 回答 1

2

该错误意味着它$this->dom不是一个对象,所以你不能使用$this->dom->find().

于 2013-03-14T17:06:51.970 回答