문제

마지막 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 개의 트랙을 형식으로 제공합니다.

린킨 파크

사이

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