Simple_html_dom - 仅查找第一行

时间:2015-03-01 16:04:11

标签: php simple-html-dom

我使用Simple_html_dom,我希望它显示第一个span.muted它在页面上找到。

foreach($html->find('span.muted') as $e)
echo $e->innertext . "<br>";

目前它执行所有span.muted的列表,并且似乎无法让它像我想要的那样工作。

这就是我使用代码时的样子。

  

3.1

     

版本:3.1

     

版本:3.1

     

版本:3.1

并且只希望它在此示例中显示3.1。

3 个答案:

答案 0 :(得分:0)

如果您只想显示它找到的第一个而不修改您的大部分代码。也许你可以像这样使用休息。

foreach($html->find('span.muted') as $e) {
    echo $e->innertext . "<br>";
    break;
}

或者您可以将其简化为:

echo $html->find('span.muted')->innertext . "<br>";

答案 1 :(得分:0)

如果结果是准确的,并且您只想获取版本号而不管其前面的文本,您可以在结果上使用正则表达式:

foreach($html->find('span.muted') as $e)
    if(preg_match('/\d+\.\d+$/', $e->innertext, $matches)) {
      echo $matches[0] . '<br />';
    }
}

答案 2 :(得分:0)

看起来像这样:

echo $html->find('span.muted', 0)->innertext;