Php 使用file\u get\u html并从div中的第一个跨度中提取内容

Php 使用file\u get\u html并从div中的第一个跨度中提取内容,php,simple-html-dom,Php,Simple Html Dom,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="

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>

您可能可以添加另一个firstchild()

您只能导航到将两个子div分组的div,这两个子div的内容会被回显。你需要找到那两个孩子中的第一个。如我在这里的简化所示:

<div>
    <div> <-- you are here
        <span>In stock</span> <-- need to get here
        <span>Ships soon</span>
    </div>
<div>


您可能可以添加另一个firstchild()

您只能导航到将两个子div分组的div,这两个子div的内容会被回显。你需要找到那两个孩子中的第一个。如我在这里的简化所示:

<div>
    <div> <-- you are here
        <span>In stock</span> <-- need to get here
        <span>Ships soon</span>
    </div>
<div>

根据

根据

那就是:

$html->find('#sns-availability span', 0);
那就是:

$html->find('#sns-availability span', 0);

虽然技术上正确,但是可以推断html文档比我们看到的部分大,因此使用ID而不是非唯一类(中等大小的文本)可以确保选择正确的元素。虽然技术上正确,但是可以推断html文档比我们看到的部分大,因此,使用ID而不是非唯一类(中等大小的文本)将确保选择正确的元素
$result = $dom->find('span.a-size-medium a-color-success');
echo $result->plaintext;
$html->find('#sns-availability span', 0);