我的代码有点问题。我试图从Spotify中提取歌曲ID。 这对我来说很好,但不适用于网址中的特殊字符(如ü,ö,ä)。
我收到此警告(第一行是回显的Url):
http://ws.spotify.com/search/1/track?q=Sportfreunde+Stiller+AND+track:Frühling
Warning: SimpleXMLElement::__toString() [simplexmlelement.--tostring]: Node no longer exists in /Applications/AMPPS/www/spotify.php on line 28
这是我的代码:
function getID($artist,$title){
$url = utf8_decode("http://ws.spotify.com/search/1/track?q=".$artist."+AND+track:".$title);
echo $url;
$xml = simplexml_load_file($url);
$id= $xml->track->attributes();
return($id);
}
echo getID("Sportfreunde+Stiller","Frühling");
如何解决这个问题?我尝试了utf_encode(),但这没有用。
谢谢!
答案 0 :(得分:0)
这与UTF-8编码无关,当然也不是命名错误的utf8_decode
/ utf8_encode
函数,它们应该真正命名为utf8_to_iso8859_1
/ iso8859_1_to_utf8
,并且很少是任何编码问题的正确答案。
%3f
等序列对其他任何内容进行转义。
要正确转义URL中的字符串,可以使用PHP函数urlencode()
,例如
$url = "http://ws.spotify.com/search/1/track?q=" . urlencode($artist) . "+AND+track:" . urlencode($title);