我有一个看起来有点像这样的HTML页面
xxxx
<a href="www.google.com">google!</a>
<div class="big-div">
<a href="http://www.url.com/123" title="123">
<div class="little-div">xxx</div></a>
<a href="http://www.url.com/456" title="456">
<div class="little-div">xxx</div></a>
</div>
xxxx
我正试图把href的大部分拉出来。我可以使用下面的代码从整个页面中获取所有href。
$links = $html->find ('a');
foreach ($links as $link)
{
echo $link->href.'<br>';
}
但是我如何只得到div中的href&#34; big-div&#34;。 编辑: 我想我明白了。对于那些关心的人:
foreach ($html->find('div[class=big-div]') as $element) {
$links = $element->find('a');
foreach ($links as $link) {
echo $link->href.'<br>';
}
}
答案 0 :(得分:4)
documentation很有用:
$html->find(".big-div")->find('a');
然后继续获取href
以及您感兴趣的其他任何属性。
编辑:以上是一般的想法。我从来没有使用过简单的HTML DOM,所以也许你需要稍微调整一下语法。尝试:
foreach($html->find('.big-div') as $bigDiv) {
$link = $bigDiv->find('a');
echo $link->href . '<br>';
}
或者也许:
$bigDivs = $html->find('.big-div');
foreach($bigDivs as $div) {
$link = $div->find('a');
echo $link->href . '<br>';
}
答案 1 :(得分:0)
快速翻转-将其放入您的foreach
$image = $html->find('.big-div')->href;