我正在尝试解析播放到我网站上的最后10首曲目的Last.fm Feed。
这是我到目前为止所拥有的,
<?php
$doc = new DOMDocument();
$doc->load('http://ws.audioscrobbler.com/1.0/user/nathanjmassey/recenttracks.xml');
$arrFeeds = array();
foreach ($doc->getElementsByTagName('track') as $node) {
$itemRSS = array (
'artist' => $node->getElementsByTagName('artist')->item(0)->nodeValue,
'name' => $node->getElementsByTagName('name')->item(0)->nodeValue,
'url' => $node->getElementsByTagName('url')->item(0)->nodeValue,
);
array_push($arrFeeds, $itemRSS);
}
?>
<?php
foreach ($arrFeeds as $i => $values) {
foreach ($values as $key => $value) {
print "<p>$value\n</p>";
}
}
?>
这基本上以格式
为我提供了Feed中的所有10首曲目林肯公园
在中间
但我需要在链接列表中格式化结果,例如
<a href="$url">$artist - $track</a>
如何扩展我的脚本来实现这一目标?
答案 0 :(得分:2)
对于您的输出,请使用:
<?
foreach ($arrFeeds as $i => $values)
{
print "<a href='" . $values['url'] . "'>" . $values['artist'] . " - " . $values['name'] . "</a>";
}
?>
更新:如何限制已解析的项目数
(通过编辑回复评论,以便我可以使用代码显示标记。)
我现在在工作,但我会尝试更改你的初始解析代码:
array_push($arrFeeds, $itemRSS); // existing line
if (count($arrFeeds) >= 5) { break; } // add this line