这是我在这个网站上的第一个问题。我是 php 新手,但我听从了建议,并尽可能地弄脏了我的手。不幸的是,现在我对我正在尝试创建的这个简单的 Youtube 应用程序感到有些困惑。
我知道那里有几个相关的问题,但我还没有找到一个全面的解决方案来解决我的问题。
无论如何,我要做的是在 youtube 频道中获取视频的 url,提取视频 ID 并创建一个数组,然后我可以将其传递给 javascript 函数以获取一些很酷的客户端内容。
到目前为止,这是我的代码。我很确定我的问题与方法中的数组、字符串和变量有关。在任何情况下,我的 array_map 函数都不起作用,并且 showFullFeed() 函数只返回一个值而不是链接数组。
任何帮助都非常感谢。干杯
类 ChannelFeed {
函数 __construct($username) { $this->用户名=$用户名; $this->feedUrl=$url=' http://gdata.youtube.com/feeds/api/users/ '.$username.'/favorites'; $this->feed=simplexml_load_file($url); }
公共函数 getYTid() {
$ytURL = $this->feed->entry->link['href'];
$ytvIDlen = 11; // 这是 YouTube 视频 ID 的长度
// ID 字符串在“v=”之后开始,通常紧随其后 // “youtube.com/watch?” 在网址中 $idStarts = strpos($ytURL, "?v=");
// 如果 "v=" 不在 "?" 之后 (不太可能,但我喜欢保留我的 // 覆盖的基础),它将在“&”之后: 如果($idStarts === 假) $idStarts = strpos($ytURL, "&v="); // 如果还是 FALSE,则 URL 没有 vid ID 如果($idStarts === 假) die("未找到 YouTube 视频 ID。请仔细检查您的网址。");
// 偏移起始位置以匹配 ID 字符串的开头 $idStarts +=3;
// 获取ID字符串并返回 $ytvID = substr($ytURL, $idStarts, $ytvIDlen);
返回$ytvID;
} 公共函数 showFullFeed() { foreach($this->feed->entry as $video){ 返回 $vidarray[] = $video->link['href']; } } }; $youtube = new ChannelFeed('用户名'); $vids = $youtube->showFullFeed(); $vidIDs = array_map(getYTid(),$vids);?>