使用Simple HTML Dom PHP

时间:2014-03-11 13:46:13

标签: php html dom

好吧我有点问题,希望有人能帮助我。

我正在使用Simple HTML Dom PHP Class并试图从下面的其他网站示例中获取信息。

$html = file_get_html("http://example.com");
$find_country = $html->find('div[class=inline] span', 0);
if (!empty($find_country)) {
    $country = $find_country->plaintext;
} else {
    $country = '';
}

现在,在此代码获取信息的网站上,有两个是下面的相同示例

<div class="inline">
    <h3>Country:</h3>
    <span>USA</span>
</div>

<div class="inline">
    <h3>Run Time:</h3>
    <span>120 min</span>
</div>

现在我只想抓住国家,但有时国家不可用,最终得到运行时间,所以我可以使用

<h3>Country:</h3>

部分阻止这可能有人请帮助我谢谢。

1 个答案:

答案 0 :(得分:0)

设置:

$html = <<<EOF
<div class="inline">
    <h3>Run Time:</h3>
    <span>120 min</span>
</div>

<div class="inline">
    <h3>Country:</h3>
    <span>USA</span>
</div>
EOF;

$doc = str_get_html($html);

使用简单的你需要跳过一些箍

foreach($doc->find('h3') as $h3){
  if($h3->text() == 'Country:'){
    $country = $h3->next_sibling()->text();
    break;
  }
}

使用advanced,您可以使用css:

$country = $doc->find('h3[text="Country:"] + span', 0)->text();