Я использую PHP, чтобы перенаправить поисковый запрос. Существует пример кода here (click).Php перенаправление формы с поисковым запросом между url
И мой 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-адреса.
Например, для Джива должно быть:
http://www.jiwa.fm/#search/track/{%22q%22%3A%22keywords%22}
Где «ключевые слова» это место, где ключевые слова должны быть.
И без этих %22}
символов поиск не работает.
Как улучшить этот PHP-код, чтобы заставить его работать с таким запросом?
Кто-то сказал мне, что тоже
$search_engine = trim($_POST['video']);
бесполезно, но когда я удалить его, он больше не работает.
В настоящее время я использую video_action.php для поиска видео и audio_action.php для аудио, но если вы найдете какой-то способ объединить эти файлы в один, сохранив 2 формы в своем HTML-коде, это было бы потрясающе.
Пожалуйста, помогите мне улучшить этот код.
PS: Я не хочу использовать JavaScript для этого.
Спасибо за ваш быстрый ответ :-) Вы были прав, удалив $ search_engine ничего не меняет в моем старом коде. Я должен был удалить некоторые плохие скобки или так, когда я проверил. Я обновил свой код, и есть некоторая ошибка: Ошибка анализа: синтаксическая ошибка, неожиданная ';' в /mnt/102/sdb/c/4/lostsymphonia/r/action.php в строке 11, которая является: header ('Location:'.str_replace ('__ ключевые слова __', $ url_params, $ URL [$ SEARCH_ENGINE]); Вам не кажется, что это исходит от $ url [$ search_engine]? Или: $ search_engine = trim ($ _ REQUEST ['audio']); и ['видео]? Почему вы решили сохранить его? (PS: Извините, не могу делать разрывы здесь) – Mark
Я забыл ')'. Я добавил его сейчас - мой текущий код должен работать. Я решил сохранить '$ search_engine', потому что он выглядит лучше, чем' $ _REQUEST ['video'] '. – Zarel
Спасибо, я обновил свой код здесь: http://lostsymphonia.free.fr/r/index.html он работает для поиска звука, но не для видео. У моего полного кода больше поисковых систем и форм, поэтому я хотел бы сделать его легче. Вам действительно нужна $ search_engine часть? – Mark