Нужна помощь понимающих людей, то есть вас
Передаю значении из формы поиска GET-ом, в search.html (там javascript). Можно ли как-то пробел заменять на "%20" а не на "+" ?
P.S.
Уверен, что решение - это достаточно простое.
P.P.S.
Не хочу выглядеть в ваших глазах наглецом которому нужна помощь и для этого он зарегистрировался и написал единственный пост. Любой труд должен быть вознагражден, 1-2 доллара заплачу за решение моей маленькой проблемы (если это слишком мало напишите).
Спасибо.
Спустя 5 часов, 58 минут, 16 секунд (25.09.2012 - 07:00) Игорь_Vasinsky написал(а):
ты можешь предварительно обработать инпут и заменить все пробелы на "+" - перед тем как у тя сформируется url (str_replace(), strtr()), но - кто нить захочет отправить сам "+" - и тогда, ты же будешь + обрабатывать как пробел, а это уже влияет на выдачу при поиске.
У тя видимо не понимание ситуации.
Ты работаешь с урл и получаешь её в исходном виде, а для того чтоб получить её в первоначальном виде (когда всё вводиться в инпут пользователем) - достаточно использовать http://php.net/manual/ru/function.urldecode.php
в смысле после того как ты урл уже сформировано и ты будешь с ней работать - то первым делом - декодируй.
У тя видимо не понимание ситуации.
Ты работаешь с урл и получаешь её в исходном виде, а для того чтоб получить её в первоначальном виде (когда всё вводиться в инпут пользователем) - достаточно использовать http://php.net/manual/ru/function.urldecode.php
в смысле после того как ты урл уже сформировано и ты будешь с ней работать - то первым делом - декодируй.
Спустя 11 часов, 59 минут, 18 секунд (25.09.2012 - 19:00) LuckySrG написал(а):
Цитата (Игорь_Vasinsky @ 25.09.2012 - 07:00) |
кто нить захочет отправить сам "+" - и тогда, ты же будешь + обрабатывать как пробел, а это уже влияет на выдачу при поиске. |
Знак плюс отлично "энкодится" в "%2B"
Ну к сожалению не получил помощи пришлось самому.
Вот такой обработчик формы.
<?PHP
$text = $_GET['text'];
$new = urlencode($text);
$qst = str_replace("+","%20", $new);
Header("Location: search.html?text=$qst");
?>
Если не трудно подскажите - такое чудо имеет право быть или очень плохая конструкция ?
Может стоит уменьшить до $new = urlencode($_GET['text']); или и так пойдет ?
Спустя 2 часа, 29 минут, 31 секунда (25.09.2012 - 21:29) Игорь_Vasinsky написал(а):
чё ты мудришь?
отправил данные от юзера в GET, принял и обработал urldecode() - всё.
после этого они у тебя в первоначальном виде.
отправил данные от юзера в GET, принял и обработал urldecode() - всё.
после этого они у тебя в первоначальном виде.
Спустя 3 часа, 16 минут, 17 секунд (26.09.2012 - 00:45) killer8080 написал(а):
Цитата (LuckySrG @ 25.09.2012 - 19:00) |
Если не трудно подскажите - такое чудо имеет право быть или очень плохая конструкция ? Может стоит уменьшить до $new = urlencode($_GET['text']); или и так пойдет ? |
велосипед изобретаешь? Есть же rawurlencode()
Спустя 23 часа, 44 минуты, 6 секунд (27.09.2012 - 00:29) LuckySrG написал(а):
Парни,
Я не мудрю и не изобретаю, я действительно ни чего не понимаю в программировании, последний раз мне, что-то про ассемблер рассказывал преподаватель году, так в 95-96 и сюда я написал исключительно, по тому, что мне нужен был готовый код как передать из html файла (формы) в такой же html файл чтобы получить в итоге search.html?zapros=мой запрос без знака плюс
Я не мудрю и не изобретаю, я действительно ни чего не понимаю в программировании, последний раз мне, что-то про ассемблер рассказывал преподаватель году, так в 95-96 и сюда я написал исключительно, по тому, что мне нужен был готовый код как передать из html файла (формы) в такой же html файл чтобы получить в итоге search.html?zapros=мой запрос без знака плюс