получить из этой строки & lt; topalbums artist = & quot; Adele & quot; & gt;

Привет, ребята, я пытаюсь получить информацию от last.fm, я получаю названия альбомов и т. Д., Но я хочу получить из строки 2. как ее получить?

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

^ отсюда название, страница, страница и общая страница

<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>

0

Решение

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

Другие решения

Одним из основных способов было бы использование регулярного выражения:

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) изменения вы должны использовать несколько регулярных выражений.

0

Ребята, как ни странно, я нашел лучшее решение

<?php
$attrs = $xml7->topalbums->attributes();
echo $attrs["total"];
?>
0
По вопросам рекламы [email protected]