我正在使用dom()
來解析HTML中的內容。基本上在標籤<img class="logo">
。調用成員函數find()在PHP中的非對象?
我使用$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
是無法找到的標籤。現在正在拋出錯誤。
任何幫助,將不勝感激。
$ this-> dom'定義在哪裏?那是什麼導致你的錯誤。 – nickb 2013-03-14 17:03:45
這個'SimpleHTML','Zend_Dom_Query'等是什麼dom接口? – prodigitalson 2013-03-14 17:05:25
$ this-> dom = @file_get_html($ url);這是dom的定義。它不會拋出所有情況下的錯誤。只有極少數情況下,它無法從file_get_html前面的@處找到
@nickb –
user1518659
2013-03-14 17:06:13