0

嗨,我正在尝试组合两个 foreach 循环,但我遇到了问题。

问题是<a href='$link'>所有结果都相同,但它们必须不同。

这是我正在使用的代码:

<?php
$feed = file_get_contents('http://grabo.bg/rss/?city=&affid=16090');

$rss = simplexml_load_string($feed);

$doc = new DOMDocument();
@$doc->loadHTML($feed);

$tags = $doc->getElementsByTagName('link');

foreach ($tags as $tag) {
    foreach($rss as $r){
        $title = $r->title;
        $content = $r->content;
        $link = $tag->getAttribute('href');
        echo "<a href='$link'>$title</a> <br> $content";
    }
}

?>

我的错误在哪里?为什么它不工作以及我如何使它正常工作?提前致谢!

4

1 回答 1

0

两个循环都通过不同的资源,所以你只是简单地交叉连接它们中的所有记录。

这应该可以获取您需要的数据:

<?php
$feed = file_get_contents('http://grabo.bg/rss/?city=&affid=16090');
$rss = simplexml_load_string($feed);

foreach ($rss as $key => $entry) {
    if ($key == "entry")
    {
        $title = (string) $entry->title;
        $content = (string) $entry->content;
        $link = (string) $entry->link["href"];
        echo "<a href='$link'>$title</a><br />" . $content;
    }
}
于 2013-08-07T15:16:06.793 回答