Синтаксический анализ Last.fm загрузка на веб-сайт с использованием PHP

StackOverflow https://stackoverflow.com/questions/1123998

  •  13-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь проанализировать Last.fm запись моих последних 10 треков, которые были воспроизведены на моем веб-сайте.

Это то, что у меня есть на данный момент,


<?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>";  
    }

}

?>

Это в основном дает мне все 10 треков в ленте в формате,

Линкин Парк

В Промежутке

http://www.last.fm/music/Linkin+Park/_/In+Between

Но мне нужно отформатировать результаты в виде списка ссылок, таких как,

<a href="$url">$artist - $track</a>

Как бы мне расширить свой скрипт для достижения этой цели?

Это было полезно?

Решение

Для вашего вывода используйте это:

<?
foreach ($arrFeeds as $i => $values)
{
    print "<a href='" . $values['url'] . "'>" . $values['artist'] . " - " . $values['name'] . "</a>";
}
?>

Обновить:Как ограничить количество анализируемых элементов

(Отвечая на комментарий через edit, чтобы я мог использовать теги отображения кода.)

В данный момент я на работе, но я бы попробовал изменить ваш исходный код синтаксического анализа примерно так:

array_push($arrFeeds, $itemRSS); // existing line
if (count($arrFeeds) >= 5) { break; } // add this line
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top