1 回答

TA貢獻1854條經(jīng)驗 獲得超8個贊
使用 xpath 遍歷所有節(jié)點并使用兩個 img 標簽檢索數(shù)據(jù)。
<?php $sample_html = '
<img src="http://www.whatever.com" alt="" />
abc
<br>
<h3>title</h3>
<div class="content">content <a href="link">my link</a></div>
<img src="http://goingnowhere.com" alt="">
def
<br>
<h3>title 2</h3>
<div class="content">content <a href="link">my link</a>
bla bla bla
</div>
';
$dom = new DOMDocument();
@$dom->loadHtml($sample_html);
$xpath = new DOMXPath($dom);
$snippet = '';
$arr = array();
$count = $xpath->query('//img')->length;
//loop through all img tags
for($i=0;$i<$count;$i++){
$node = $xpath->query('//img')->item($i);
$img_src = $node->getAttribute('src');//first image src
while ($node = $node->nextSibling) {
if (get_class($node) != 'DOMElement') {
continue;
}
if ($node->tagName == 'img') {
$snippet .= $dom->saveXML($node);
$arr[] = array(
'src'=>$img_src,
'content'=>$snippet
);
$img_src = $node->getAttribute('src');//last img src
$snippet = '';
break;
}
$snippet .= $dom->saveXML($node);
}
}
//fill last img data
$arr[] = array('src'=>$img_src,'content'=>$snippet);
- 1 回答
- 0 關(guān)注
- 220 瀏覽
添加回答
舉報