Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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 获取youtube视频ID并以这种格式批量发布的最佳方法_Php_Javascript - Fatal编程技术网

Php 获取youtube视频ID并以这种格式批量发布的最佳方法

Php 获取youtube视频ID并以这种格式批量发布的最佳方法,php,javascript,Php,Javascript,我的网站使用javascript从数组中读取youtube视频ID。格式如下: 1: 'A8JsRx2loix', 2: 'XFGAQrEUaes', 3: 'qX9FSZJu44s' 获取URL列表的最佳方式是什么 http://www.youtube.com/watch?feature=player_detailpage&v=bCJ-qARb2M0 http://www.youtube.com/watch?feature=player_detailpage&v=bCJ

我的网站使用javascript从数组中读取youtube视频ID。格式如下:

1:  'A8JsRx2loix',
2:  'XFGAQrEUaes',
3:  'qX9FSZJu44s'
获取URL列表的最佳方式是什么

http://www.youtube.com/watch?feature=player_detailpage&v=bCJ-qARb2M0
http://www.youtube.com/watch?feature=player_detailpage&v=bCJ-qAswdM2
http://www.youtube.com/watch?feature=player_detailpage&v=bCJ-sh7b2M0
并提取11位数的视频ID,将它们放在上面给定的格式中


注意:url可以采用不同的格式,例如当它们位于播放列表中时。

您可以使用此功能处理任何youtube url, 它将返回如下对象:

{
    type: 'youtube',
    id: 'A8JsRx2loix'
}

function testUrlForMedia(url) {
    var success = false;
    var media = {};
    if (url.match('http://(www.)?youtube|youtu\.be')) {
        if (url.match('embed')) {
            youtube_id = url.split(/embed\//)[1].split('"')[0];
        }
        else {
            youtube_id = url.split(/v\/|v=|youtu\.be\//)[1].split(/[?&]/)[0];
        }
        media.type = "youtube";
        media.id = youtube_id;
        success = true;
    }
    if (success) {
        return media;
    }
    return false;
}

您可以使用
parse_url($url)
并提取
v=VIDEO ID
是的,首先查找“v=”和下面的符号,然后切断左右两侧。您需要一个正则表达式来表示清洁度,因为您如何确保“v=”将在上面显示的地方结束?如果你确定,那么你可以做一个查找和左/右修剪,只保留ID…。我会看看我是否可以给你一些东西(除非有人打败我)。