2011-08-26 114 views
0

我一直在尝试使用YouTube API使用Zend Gdata类来搜索YouTube上的视频。当我用一个单词键入搜索词时,我会收到预期的结果,但是当我开始在搜索词中使用多个作品时,我似乎找不到非常好的结果,这些视频似乎与我的搜索词没有关系。使用PHP搜索YouTube,使用搜索词中的多个单词

我将它传递给YouTube之前进行urlencode搜索词 - 即

$query->videoQuery = urlencode($searchString); 

有没有人碰到类似的问题?任何解决方案

回答

1

我不能完全肯定的Youtube API如何提供搜索结果,但你可以尝试以下方法:

选项1:(增加周围的查询报价)

$query->videoQuery = urlencode('"' . $searchString . '"'); 

选项2:(再添在每个字的前面加'+')

$query->videoQuery = urlencode('+' . preg_replace('/\s+/', ' +', $searchString)); 
+0

只要执行'str_replace('','+',$ searchString);''会更快吗?此外,您的查询要求至少需要两个空格才能用'+'替换它们。使用''/ \ s + /''代替:P。 – xfix

+1

好抓!是的,preg_replace应该是/ \ s + /(回答编辑)。做一个str_replace(''...)的问题是,如果有人有一个搜索字符串与两个空格'foo酒吧'它将成为'foo + +酒吧' –

+0

这很简单!谢谢Chris,选项1工作得很好。仅供参考当我尝试选项2它没有返回任何结果,但选项1返回了我的搜索字符串预期的视频。谢谢! – undefined