سؤال

أحاول تحليل أخطيرة 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>";
}
?>

تحديث: كيفية الحد من العناصر البارزة

(الاستجابة للتعليق عبر تحرير حتى أتمكن من استخدام علامات عرض التعليمات البرمجية.)

أنا في الوقت الحالي، لكنني سأحاول تغيير رمز التحليل الأولي الخاص بك شيء مثل ذلك:

array_push($arrFeeds, $itemRSS); // existing line
if (count($arrFeeds) >= 5) { break; } // add this line
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top