2011-08-26 136 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