在非对象上调用成员函数next_sibling()

时间:2015-04-20 18:07:47

标签: php dom if-statement conditional-statements simple-html-dom

我使用HTML Dom Parser获取HTML页面的内容。

该页面具有类似此结构的内容

<div id = 'someID'>
    content
</div>
<noscript>
  data that I want to extract
</noscript>

所以我试图提取<noscript>这样的标签

$noScript = $html->find('<noscript>', 2)->plaintext;

noscript

中的第3个HTML代码

但它没有返回任何内容。

之后我尝试了next_sibling()

$noScript = $html->find('#someID', 0)->next_sibling()->plaintext;

它的工作正常,但有时该ID没有next_sibling,在这种情况下,它会抛出Fatal Error

任何人都可以帮助我,我怎么能让它成为有条件的,我的意思是如果next_sibling()存在,那就得到它,否则忽略它。

我试图将其包装成if语句,但没有任何内容可以开箱即用..

帮助帮助...

1 个答案:

答案 0 :(得分:0)

看起来像这样:

if($div = $html->find('#someID', 0)){
  $noScript = $div->next_sibling()->plaintext;
}