我想从youtube链接中获取个人ID,以便稍后可以使用它来提取其缩略图等其他信息并将其插入嵌入式iframe。
我注意到,我希望youtube上的所有网址都启动http://www.youtube.com/watch?v=
唯一视频ID ,然后根据一些内容可以结束&list=RD02M5u5zXVmoHM
之类的内容。但是唯一ID在它之后总是有&
和之前的watch?v=
。这是最好的方法吗?写得好吗?
$link=$_POST['link'];
$link_id=str_replace('http://www.youtube.com/watch?v=', '', $link);
$link_id=strstr($link_id, '&', true);
这来自表单数据。我可能遇到过youtube网址中的其他变量吗?
答案 0 :(得分:1)
parse_url()和parse_str()的组合将是PHP为您处理脏工作的更简单方法。例如:
$video_id = false;
$url_parts = parse_url($link);
$query_params = array();
if (isset($url_parts['query']))
{
parse_str($url_parts['query'], $query_params);
}
if (isset($query_params['v']))
{
$video_id = $query_params['v'];
}
现在$video_id
包含您需要的ID。
答案 1 :(得分:1)
您要做的是使用:http://php.net/pase_url和http://php.net/parse_str,如下所示:
<?php
$info = parse_url("https://www.youtube.com/watch?v=DA57FOJSdM8");
parse_str($info["query"], $query);
print_r($query);
// Outputs: Array ( [v] => DA57FOJSdM8 )