Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PHP CURL检索Soundcloud媒体URL?_Php_Api_Curl_Soundcloud - Fatal编程技术网

通过PHP CURL检索Soundcloud媒体URL?

通过PHP CURL检索Soundcloud媒体URL?,php,api,curl,soundcloud,Php,Api,Curl,Soundcloud,我正在使用SoundCloudAPI+PHP获取有关Soundcloud曲目的信息,以便将jPlayer用作播放列表的mp3播放器。现在,我可以完全访问所有关于曲目的信息,除了mp3的实际链接,以便播放曲目 根据API,如果轨迹允许流,您只需卷曲流URL(即:) 现在,如果我尝试卷曲它,我的结果是一个简单的HTML位。 我想要的链接是整个media.soundcloud.com/sjkn57c6gAA5,就这样。但是,如果我尝试对'//a/@href'执行xpath,则不会返回任何结果。有人能告

我正在使用SoundCloudAPI+PHP获取有关Soundcloud曲目的信息,以便将jPlayer用作播放列表的mp3播放器。现在,我可以完全访问所有关于曲目的信息,除了mp3的实际链接,以便播放曲目

根据API,如果轨迹允许流,您只需卷曲流URL(即:)

现在,如果我尝试卷曲它,我的结果是一个简单的HTML位

我想要的链接是整个
media.soundcloud.com/sjkn57c6gAA5
,就这样。但是,如果我尝试对
'//a/@href'
执行xpath,则不会返回任何结果。有人能告诉我如何获取这个链接的正确方向,这样我就可以生成文件的适当链接了吗

提前谢谢


Tre

如果您在HTML上使用xpath(顺便提一下,不推荐使用,因为HTML不是XML的子集,除非它是XHTML,并且不需要关闭一些标记),那么它不应该是//HTML/body/a/@href吗

否则,可以使用正则表达式提取URL:

if(preg_match('/href="(.*?)"/', $m)) {
    $url = $m[1];
}

或者你可以缩小范围,去掉其他部分,但你需要非常小心,因为我怀疑API是否保证URL总是以相同的格式(例如,子域总是以媒体结尾)。

那么,你建议如何解析HTML?我主要使用XPath,到现在为止还没有遇到任何问题。只是正则表达式?