使用 file_get_html 并从 div 中的第一个跨度中提取内容
Use file_get_html and extract content from the first span in a div
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;
你或许可以添加另一个 firstchild()
$output = $output[0]->first_child()->first_child();
您只导航到 div 将两个 sub-divs 的内容组合在一起。您需要到达这两个 children 中的第一个。正如我在这里的简化所示:
<div>
<div> <-- you are here
<span>In stock</span> <-- need to get here
<span>Ships soon</span>
</div>
<div>
// Find all <span> with class=gb1
$result = $dom->find('span.gb1');
尝试
$result = $dom->find('span.a-size-medium a-color-success');
echo $result->plaintext;
那就是:
$html->find('#sns-availability span', 0);
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;
你或许可以添加另一个 firstchild()
$output = $output[0]->first_child()->first_child();
您只导航到 div 将两个 sub-divs 的内容组合在一起。您需要到达这两个 children 中的第一个。正如我在这里的简化所示:
<div>
<div> <-- you are here
<span>In stock</span> <-- need to get here
<span>Ships soon</span>
</div>
<div>
// Find all <span> with class=gb1
$result = $dom->find('span.gb1');
尝试
$result = $dom->find('span.a-size-medium a-color-success');
echo $result->plaintext;
那就是:
$html->find('#sns-availability span', 0);