我试图从页面中抓取两个不同的东西,如果我只刮取链接然后我可以做一个foreach并获得链接但我也想要代表该链接的标题。
以下是页面标记的示例
<div id="parent">
<span id="title">Title</span>
<div id="Two">
<a href="somelink">Somelink</a>
</div>
</div>
以下是获取标题和链接的示例
foreach($html->find('div[id=Two] a') as $a){
echo $a->href;
}
foreach($html->find('span[id=title]') as $az){
echo $az->plaintext;
}
但我需要它们在一个循环中,所以我可以拥有标题及其各自的链接
像
这样的东西foreach($html->find('span['id=title'] as $a, div[id=Two] a') as $aa){
虽然那不会起作用
我使用简单的html dom
答案 0 :(得分:0)
我认为这应该有用,前提是总是有标题和链接:
$links = $html->find('div[id=Two] a');
$titles = $html->find('span[id=title]');
foreach ($links as $i => $a)
{
echo $titles[$i]->plaintext;
echo $a->href;
}
答案 1 :(得分:0)
根本没有测试,但这样的事情应该有用。您可能需要添加验证检查以确保每个标题都有链接。
foreach($html->find('div[id=parent]') as $parent) {
$title = $parent->find('span[id=title]')->plaintext;
$href = $parent->find('div[id=Two] a')->href;
echo $title . ': ' . $href . '<br />';
}