Проблема передачи в URL параметров, содержащих # &!

nerd

Новичок
Проблема передачи в URL параметров, содержащих # &!

Как нужно правильно передать такого типа запрос: script.php?key=F# minor, чтобы в $_GET['key'] попало "F# minor"? С "&" та же проблема...

Пробовал:
script.php?key='F# minor'
script.php?key="F# minor"
script.php?key=F\# minor и так далее все варианты :D .

В результате $_GET['key'] обрезается по #.

Пока решил проблему так:
PHP:
$_GET['key']=str_replace('#','lkjhg0825kw87sfd90s52lk',$_GET['key']);
PHP:
$_GET['key']=str_replace('lkjhg0825kw87sfd90s52lk','#',$_GET['key']);
Но это решение почему-то мне не очень нравится... :confused:
 

Фанат

oncle terrible
Команда форума
В результате $_GET['key'] обрезается по #.
скажи, а это тебя удивляет?
$_GET['key']=str_replace('#','lkjhg0825kw87sfd90s52lk',$_GET['key']);
мда, а почему такое слово длинное? чем тебя не усnроило слово sharp, иди diez, на худой конец?

-~{}~ 18.02.06 21:24:

да, а ты, вообще, давно язык HTML изучаешь?
 

nerd

Новичок
Я в курсе что # используется для ссылок на "якоря" внутри страницы. Меня интересует, как можно # передать в параметре, чтобы он не трактовался как #. Другими словами, можно ли заэкранировать подобные символы?

Это $_GET['key']=str_replace('#','lkjhg0825kw87sfd90s52lk',$_GET['key']);
я использую, чтобы менять # на редкоповторяемую последовательность для беспроблемной передачи в URL. Дальше в скрипте эта последовательность вновь меняется на #. Таким образом удается обойти данную проблему. Меня же интересует, существует ли более универсальное и простое решение?

ps Если Вы не знаете ответа, можете не беспокоится и не писать "да, а ты, вообще, давно язык HTML изучаешь?". Это не информативно.
 

alexhemp

Новичок
nerd

Даю наводку - такие-же проблемы тебя ждут с пробелами, спецсимволами (конец строки например)

Почитай про ф-цию urlencode

Разработчики HTML не идиоты были, все предусмотрено.
 

Фанат

oncle terrible
Команда форума
я использую, чтобы менять # на редкоповторяемую последовательность для беспроблемной передачи в URL
а какая проблема, если последовательность будет частоповторяемая?

ps Спасибо за заботу, но я, всё же, побеспокоюсь. Я ведь не обязан писать исключительно информативные, с твоей точки зрения, посты?
или обязан?

-~{}~ 18.02.06 21:43:

хотя, на самом деле, вопрос про html действительно был некорректный.
 

nerd

Новичок
Автор оригинала: alexhemp
nerd

Почитай про ф-цию urlencode

Разработчики HTML не идиоты были, все предусмотрено.
Хехе. Спасибо большое за наводку. Казалось, что все перерыл, но тут не был, действительно достаточно было добавить urlencode\urldecode! :)

-~{}~ 18.02.06 21:52:

Автор оригинала: Фанат
а какая проблема, если последовательность будет частоповторяемая?
Если последовательность будет часто повторяемая, ее функция обратной замены заменит везде на #. Последовательность должна быть такой, чтобы нигде просто не встречатся, тогда и будут заменены только #. Но проблему я уже решил urlencode`ом
 
Сверху