Я пишу сценарий Last.FM, который показывает, какую песню вы слушаете, и я хотел бы иметь возможность связать исполнителя с названием песни и все такое.
Как мне это сделать? Я имею в виду, я предполагаю, что буду использовать str_replace()
, но как?
Вот как Last.FM форматирует свои URL-адреса:
http://last.fm/artist/This+Is+A+Band
Итак, в основном я спрашиваю, как мне взять мою переменную $artist и преобразовать эти пробелы в плюсы, но только для той части скрипта, которая печатает информацию о песне.
Вот мой код:
$uname = "USERNAME";
$key = "API KEY";
$json = file_get_contents("http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks=" . $uname . "&api_key=" . $key . "&format=json"); // Gets your data
if (strpos($json, 'nowplaying') !== false) {
list($currentsonginfo, $crap) = explode('{"nowplaying":"true"}}', $json);
list($crap, $v2) = explode('{"recenttracks":{"track":[{"artist":{"#text":"', $currentsonginfo);
list($artist, $restinfo) = explode('","', $v2);
list($crap, $currenttrack) = explode('"name":"', $restinfo); }
$playing = $artist . ' - ' . $currentrack; // Checks if a song is playing
if ($playing == ' - ') {
echo '<a href="http://last.fm/user/' . $uname . '/">';
echo "I'm not listening to anything."; // Only if you're not scrobbling
echo "</a>";
} else {
echo '<marquee>';
echo '<a href="http://last.fm/user/' . $uname . '/">';
echo "I'm currently listening to " . $currenttrack . " by " . $artist; // It shows when you're playing music!
echo "</a>";
echo '</marquee>';
}