Parsen Last.fm-Feed auf Webseite mit PHP
Frage
Ich versuche, den Last.fm-Feed meiner letzten 10 Titel auf meine Website gespielt zu analysieren.
Das ist, was ich habe, so weit,
<?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>";
}
}
?>
Das gibt mir im Grunde alle 10 Titel im Feed im Format
Linkin Park
In Between
Aber ich brauche die Ergebnisse in einer Liste von Links zu formatieren, wie
<a href="$url">$artist - $track</a>
Wie würde ich verlängern mein Skript, dies zu erreichen?
Lösung
Für die Ausgabe, verwenden Sie diese:
<?
foreach ($arrFeeds as $i => $values)
{
print "<a href='" . $values['url'] . "'>" . $values['artist'] . " - " . $values['name'] . "</a>";
}
?>
UPDATE: Wie Anzahl der analysierten Elemente begrenzen
(Als Reaktion auf den Kommentar über bearbeiten, damit ich die Code-Anzeige-Tags verwenden.)
Ich bin zur Zeit bei der Arbeit, aber ich würde versuchen, Ihren erst Parsing-Code etwas zu ändern wie folgt:
array_push($arrFeeds, $itemRSS); // existing line
if (count($arrFeeds) >= 5) { break; } // add this line
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow