Last.fm sur Parsing feed site web en utilisant PHP
Question
Je suis en train d'analyser le flux Last.fm de mes 10 derniers morceaux joués sur mon site.
est ce que j'ai jusqu'à présent,
<?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>";
}
}
?>
Cela me donne essentiellement les 10 pistes dans l'alimentation au format,
Linkin Park
Dans Entre
Mais je dois formater les résultats dans la liste des liens tels que
<a href="$url">$artist - $track</a>
Comment puis-je prolonger mon script pour y parvenir?
La solution
Pour votre sortie, utilisez ceci:
<?
foreach ($arrFeeds as $i => $values)
{
print "<a href='" . $values['url'] . "'>" . $values['artist'] . " - " . $values['name'] . "</a>";
}
?>
MISE À JOUR: Comment limiter Nombre d'éléments analysés
(En réponse aux commentaires par modifier afin que je puisse utiliser les balises d'affichage du code.)
Je suis au travail en ce moment, mais je vais essayer de changer votre code d'analyse syntaxique initiale quelque chose comme ceci:
array_push($arrFeeds, $itemRSS); // existing line
if (count($arrFeeds) >= 5) { break; } // add this line
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow