html内容为:
<div id="sns-availability" class="a-section a-spacing-none">
<div class="a-section a-spacing-mini">
<span class="a-size-medium a-color-success">
In Stock.
</span>
<span class="a-size-base">
Ships Soon.
</span>
</div>
</div>
从下面的代码中,输出是:
有货。很快就会发货。
我想知道如何只提取:
有货。
有人可以帮忙吗?
include_once('simple_html_dom.php');
$url = "xxx";
$html = file_get_html($url);
$output = $html->find('div[id=sns-availability]');
$output = $output[0]->first_child();
echo $output;
答案 0 :(得分:2)
你可以添加另一个firstchild()
$output = $output[0]->first_child()->first_child();
您只能导航到对内容被回显的两个子div进行分组的div。你需要到达这两个孩子中的第一个。正如我在这里的简化所示:
<div>
<div> <-- you are here
<span>In stock</span> <-- need to get here
<span>Ships soon</span>
</div>
<div>
答案 1 :(得分:2)
那就是:
$html->find('#sns-availability span', 0);
答案 2 :(得分:0)
// Find all <span> with class=gb1
$result = $dom->find('span.gb1');
尝试
$result = $dom->find('span.a-size-medium a-color-success');
echo $result->plaintext;