2017-04-18 3 views
0

안녕하세요 여러분, last.fm에서 정보를 얻으려고하고 있는데 앨범 이름 등을 얻고 있습니다.하지만 2 번 줄에서 가져 가고 싶습니다. 어떻게해야합니까?이 줄에서 가져 오기 <topalbums artist = "Adele">

<topalbums artist="Adele" page="1" perPage="1" totalPages="55092" total="55092"> 

^여기에서 이름, 페이지, perpage 및 totalpages

<lfm status="ok"> 
<topalbums artist="Adele" page="1" perPage="1" totalPages="55092" total="55092"> 
<album> 

<name>21</name> 
<playcount>52308837</playcount> 
<mbid>c45e0e0e-48c9-4441-aac3-2f2b34202d3c</mbid> 
<url>https://www.last.fm/music/Adele/21</url> 
<artist> 

<name>Adele</name> 
<mbid>cc2c9c3c-b7bc-4b8b-84d8-4fbd8779e493</mbid> 
<url>https://www.last.fm/music/Adele</url> 
</artist> 
<image size="small"> 
https://lastfm-img2.akamaized.net/i/u/34s/c894af1e6a735b9bbb2a0312c7719f40.png 
</image> 
<image size="medium"> 
https://lastfm-img2.akamaized.net/i/u/64s/c894af1e6a735b9bbb2a0312c7719f40.png 
</image> 
<image size="large"> 
https://lastfm-img2.akamaized.net/i/u/174s/c894af1e6a735b9bbb2a0312c7719f40.png 
</image> 
<image size="extralarge"> 
https://lastfm-img2.akamaized.net/i/u/300x300/c894af1e6a735b9bbb2a0312c7719f40.png 
</image> 
</album> 
</topalbums> 
</lfm> 
+1

빠른 방법은 복사/붙여 넣기 또는 DOMDocument를 또는 SimpleXML을을 사용을 ... 발견? – Gntem

+0

예를 들어 ($ xml as $ albums) $ adele = albums-> topalbums-> adele –

답변

0

얘들 아 재미있게 난 당신이 시도 것을 최선의 해결책

<?php 
$attrs = $xml7->topalbums->attributes(); 
echo $attrs["total"]; 
?> 
0

한 기본적인 방법 정규 표현식을 사용하는 것입니다 : 같은 (

preg_match('/artist="([^"]*)"\\s*page="([^"]*)"\\s*perPage="([^"]*)"\\s*totalPages="([^"]*)"/', $lastfm_input, $result); 
# $result[1] = name value 
# $result[2] = page value 
# $result[3] = perPage value 
# $result[4] = totalPages value 

속성의 주문하는 경우를 perPage) 여러 regexes를 사용해야합니다 변경합니다.

+0

아니요, 완전히 잘못되었습니다. 정규식 HTML이나 XML을 구문 분석해서는 안됩니다, 그것에 대해 유명한 스택 오버 플로우 게시물이있어, 그것을 봐. – delboy1978uk

+0

나는 파서를 사용하는 것이 더 낫다는 것에 동의하며, 나는이 옵션을 제시하고 싶었다. (항상 한 가지 이상의 방법이 있기 때문에 다른 문제를 가진 다른 사람에게 도움이 될 수 있습니다.) 언급 한 게시물에 대한 링크가 있습니까? –

+0

틀림없이 - 즐기십시오! :-D http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – delboy1978uk

1
$dom = new DOMDocument(); 
$dom->loadXML($xml); 
$topAlbums = $dom->getElementsByTagName('topalbums')->item(0); 
$artist = $topAlbums->getAttribute('artist'); 
echo $artist; // outputs Adele 
+0

예를 찾고 있습니다. 감사합니다. –