if($_POST['VIDEO']){
$video = parse_url($_POST['VIDEO']);
if($video['host'] == 'www.youtube.com' || $video['host'] == 'youtube.com'){
$query = parse_str($video['query']);
$v = $query['v'];
if(!$v){
//nothing found
} else {
$videoOutput = 'yt:'.$v;
}
}
}
所以我在一个月前制作了这个剧本。完美地工作到昨晚。我不明白为什么。它完美地工作到昨晚。它实际上解析了url,并且主机是有效的。我到达parse_str
,一切都突然不起作用。我做了print_r
$query
并且没有返回数据。如果我echo
变量,我得到1
。这个文件甚至没有被触及过,所以我不明白它为什么会突然崩溃。
有什么建议吗?
答案 0 :(得分:4)
语法错误:parse_str不返回任何内容。将$ string解析为名为$ array的数组:
parse_str($string, $array)
答案 1 :(得分:1)
如果您阅读parse_str()的文档,如果您在没有第二个参数的情况下使用它,您将看到它没有返回任何内容(void)。
请改为尝试:
parse_str($video['query'], $query);
if (!$query['v']) {
...
}
答案 2 :(得分:0)
根据文档和php.com的样本你必须这样做:
$query = array();
parse_str($video['query'],$query);