我的网页上有搜索功能,使用youtube api搜索音乐视频。稍后您可以在同一页面上观看。 但是当我使用api时,当我搜索带有空格的东西时,搜索功能就可以了。当我对字符串进行一些更改并用“/”替换所有空格时,例如,eminem失去自己变成:eminem / lost /你自己,当你搜索这个时你得不到正确的结果。这是我正在使用的代码的和平: 这是我的代码:
<form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
<p>Search:
<input type="text" name="q" />
<input type="submit" name="submit" value="Search" style="margin-top:-30px"/>
</p>
</form>
然后在我的php方面我有:
if (!isset($_POST['q']) || empty($_POST['q'])) {
die ('ERROR: Please enter one or more search keywords');
}
else {
$q = $_POST['q'];
$q = str_replace(' ','/',$q);
//echo $q;
} $ feedURL =“http://gdata.youtube.com/feeds/api/videos/-/{$q}?orderby=viewCount&max-results={$i}”; $ sxml = simplexml_load_file($ feedURL); //从opensearch:namespace获取摘要计数 $ counts = $ sxml-&gt;儿童( 'http://a9.com/-/spec/opensearchrss/1.0/'); $ total = $ counts-&gt; totalResults; $ startOffset = $ counts-&gt; startIndex; $ endOffset =($ startOffset-1)+ $ counts-&gt; itemsPerPage;
我尝试了不同的方法来使搜索功能起作用。我使用这个$ q = ereg_replace('[[:space:]] +','/',trim($ q)),这没有用,然后我开始用“+”替换字符串,这些都没有正常工作再次。 我想看看如何才能有一个适用于空格的搜索功能。
答案 0 :(得分:0)
尝试像这样格式化您的查询
https://gdata.youtube.com/feeds/api/videos?
q=football+-soccer
&orderby=published
&start-index=11
&max-results=10
&v=2
API版本非常重要v = 2是最新的稳定版本