私のウェブページには、YouTube API を使用してミュージック ビデオを検索する検索機能があります。後で同じページで見ることができます。ただし、API を使用し、スペースを含むものを検索すると、検索機能はまったく機能します。文字列にいくつかの変更を加えてすべてのスペースを「/」に置き換えると、たとえば、eminem が自分自身を失います: eminem/lose/yourself になり、これを検索しても正しい結果が得られません。これは私が使用しているコードの平和です: これは私のコードです:
<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-> children('http://a9.com/-/spec/opensearchrss/1.0/'); $total = $counts->totalResults; $startOffset = $counts->startIndex; $endOffset = ($startOffset-1) + $counts->itemsPerPage;
検索機能を機能させるために、さまざまなアプローチを試しました。この $q = ereg_replace('[[:space:]]+', '/', trim($q)) を使用しましたが、機能しませんでした。その後、文字列を「+」に置き換え始めましたが、正しく機能しませんでしたまた。スペースで正常に機能する検索機能をどのように使用できるかを確認したいと思います。