تحليل Last.FM Feed على موقع الويب باستخدام PHP
سؤال
أحاول تحليل أخطيرة 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 في التغذية بالتنسيق،
لينكن بارك
ما بين أثنين
لكنني بحاجة إلى تهيئة النتائج في قائمة الروابط مثل،
<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
لا تنتمي إلى StackOverflow