我正在尝试在某些DIV上检索img SRC而没有挑剔的类或父母:它们只是在<div class="content_end"></div>
之后的页面上存在
我需要从这些scr
中检索图像div's
我怎么才能只检索这些div而不是页面上所有其他div:
我尝试使用div作为父级查找所有图像但不起作用:
foreach($domParse->find('img') as $element)
echo $element->parent('div')->src;
我知道在jquery中有一个nextAll选择器,所以我可以做类似的事情:
$('.content_end').nextAll('div');
将我需要的内容返回给我:如何在Simple Dom Parser中执行此操作:
<div class="content_end"> </div>
-------------------------------------------------
<div style="postion:relative; height:90px;">
<img src="../">
</div>
<div style="postion:relative; height:90px;">
<img src="../">
</div>
---------------------------------------------
答案 0 :(得分:1)
我认为您正在寻找的是next_sibling()
:
foreach($domParse->find('div.content_end') as $element)
echo $element->next_sibling()->find("img")[0]->src;
答案 1 :(得分:1)
由于您定位的<img>
代码中包含没有类或ID的父div,因此只需使用带有父!class
属性过滤器的属性过滤器< / strong>即可。考虑这个例子:
include 'simple_html_dom.php';
$html_string = '
<div class="content_end"></div>
<div style="postion:relative; height:90px;">
<img src="http://www.google.com/image1.jpg" />
</div>
<div style="postion:relative; height:90px;">
<img src="http://www.stackoverflow.com/image2.png" />
</div>'; // your sample html structure
$domParse = str_get_html($html_string);
// div which has no class with img tag children
foreach($domParse->find('div[!class] img') as $img) {
echo $img->src . '<br/>';
}
应按照例子收益:
http://www.google.com/image1.jpg
http://www.stackoverflow.com/image2.png