Parsing Last.fm Php를 사용하여 웹 사이트에 공급됩니다
문제
마지막 10 트랙의 마지막 10 트랙의 FED를 내 웹 사이트에서 Parse를 구문 분석하려고합니다.
이것이 내가 지금까지 가지고있는 것입니다.
<?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