您好,我正在尝试将两个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";
}
}
?>
我的错误在哪里?为什么它不工作以及我如何使其正常工作? 提前谢谢!
答案 0 :(得分: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;
}
}