検索クエリをリダイレクトするためにPHPを使用しています。ここにコードの例がいくつかあります(クリック)。
そして私のPHPコードは次のとおりです。
audio_action.php:
<?php
$search_field = trim($_POST['audio_field']);
$search_engine = trim($_POST['audio']);
$url_params = preg_replace('/(\ )+/', '+', $search_field);
$url = array('deezer'=>'http://www.deezer.com/s.php?s=', 'jiwa'=>'http://www.jiwa.fm/#search/track/', 'last.fm'=>'http://www.last.fm/music?q=');
header('Location:'.$url[$_POST['audio']].$url_params)
?>
およびvideo_action.php:
<?php
$search_field = trim($_POST['video_field']);
$search_engine = trim($_POST['video']);
$url_params = preg_replace('/(\ )+/', '+', $search_field);
$url = array('youtube'=>'http://www.youtube.com/results?search_type=&search_query=', 'dailymotion'=>'http://www.dailymotion.com/relevance/search/', 'google_video'=>'http://video.google.com/videosearch?q=');
header('Location:'.$url[$_POST['video']].$url_params)
?>
問題は、検索語がURLの途中にある必要がある場合に使用できないことです。
たとえば、Jiwaの場合は次のようになります。
http://www.jiwa.fm/#search/track/{%22q%22%3A%22keywords%22}
「キーワード」はキーワードがあるべき場所です。
そして、それらの%22}
文字がないと検索は機能しません。
では、このようなクエリで機能させるために、このPHPコードをどのように改善するのでしょうか。
誰かが私にも言った
$search_engine = trim($_POST['video']);
役に立たないのですが、削除すると動作しなくなります。
私は現在、ビデオ検索にvideo_action.phpを使用し、オーディオにaudio_action.phpを使用していますが、HTMLコードに2つのフォームを保持しながら、これらのファイルを1つのファイルにマージする方法を見つけたら素晴らしいでしょう。
このコードを改善するのを手伝ってください。
PS:これにはJavaScriptを使用したくありません。