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

     

http://www.last.fm/music/Linkin + Parc / _ / In + 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?

Était-ce utile?

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
scroll top