我有一个包含youtube视频地址的字符串,我想用它来在弹出式灯箱中显示视频。在当前形式中,链接在灯箱中不起作用:
http://www.youtube.com/v/CD2LRROpph0?f=videos&c=TEST&app=youtube_gdata&version=3
我有一个想法是提取视频ID“CD2LRROpph0”并将其附加到常规的YouTube网址,例如
http://www.youtube.com/watch?v=CD2LRROpph0.
我知道我在灯箱中工作。
关于如何从字符串???
中提取此代码的任何想法答案 0 :(得分:1)
这个会处理不同的协议和不同的YouTube网址(例如,如果YouTube推出了针对特定国家/地区的TLD)。
$urlTokens = parse_url($url);
$newUrl = $urlTokens['scheme'] . '://' . $urlTokens['host'] . '/watch?v=' . preg_replace('~^/v/~', '', $urlTokens['path']);
答案 1 :(得分:0)
$newUrl = preg_replace('@http://www.youtube.com/v/([a-z0-9_\-]{11}).*$@i',
'http://www.youtube.com/watch?v=$1', $string);
答案 2 :(得分:0)
或者试试这个,你得到一个数组,可以使用你想要的查询 http://www.php.net/manual/en/function.parse-url.php