我有一个解析 img 和文本的代码。运行php文件中的代码。它只是显示 img src、abc、img src、dfe。而且我的代码不规则。img 标签可能带有链接。
我想解析 img 和下一个html。像这样:
Array
(
[0] => Array
(
[src] => http://www.whatever.com
[text] => abc
<br>
<h3>title</h3>
<div class="content">content <a href="link">my link</a></div>
)
[1] => Array
(
[src] => http://goingnowhere.com
[text] => def
<br>
<h3>title 2</h3>
<div class="content">content <a href="link">my link</a>
bla bla bla
</div>
)
)
我怎样才能做到这一点?我目前的代码:
<?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);
$data = array();
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) {
$data[] = array(
'src' => $image->getAttribute('src'),
'text' => trim($image->nextSibling->textContent),
);
}
echo '<pre>';
print_r($data); ?>
哔哔one