Есть проблема передачи одинарных - ['] кавычек методом GET
пример: <a rel="nofollow" href= "
http://site.com/it's_home_page.php">Link to nowhere</a>
проблема в том, что с строке поиска конечный результат будет:
http://site.com/it - [до кавычки, а дальше срезает остаток строки]
Что делать?
- Варианты кодирование строки типо base64encode() [PHP] не подходят.
- Варианты ответов, типо "делай без кавычек" - тоже не подходят.
Ответы (8)
RSSThis function is convenient when encoding a string to be used in a query part of a URL, as a convenient way to pass variables to the next page.
string urldecode ( string str )
Decodes any %## encoding in the given string.
Стандартные методы и функции - почему они не подходят?
epo-it
http://www.yandex.ru/yandsearch?stype=www&nl=0&text=it%27s_home_page
на вот такое
http://www.yandex.ru/yandsearch?stype=www&nl=0&text=it's_home_page
яндекс обрабатывает совершенно нормально и такое. Вывод? Очевидно вы неправильно обрабатываете получаемую строку, потому что строка вида
<a href="http://images.yandex.ru/yandsearch?text=it's_home_page&stype=image">«it's_home_page» в картинках</a>
совершенна нормальна и правильно передается GET.
rmalay
<a href="http://site.com/it's_home_page.php">Link to nowhere</a>
Откройте в браузере, щёлкните на ссылку, посмотрите результат. В IE и Opera ничего не обрезается. Если в Вашем браузере обрезается - вероятно, это его "особенность".
PS: А вообще-то в html, насколько я понимаю, правильно писать так:
<a href="http://site.com/it‘s_home_page.php">Link to nowhere</a>
aeva
chicago1111
- Варианты кодирование строки типо base64encode() [PHP] не подходят.
urlencode ( string str ) - не подходит!
Нужно передать так, как есть - без альтернативных решений
<a href="http://site.com/it's_home_page.php">Link to nowhere</a>
и получить
adress: http://site.com/it's_home_page.php
Спасибо
belportal-info
ektoo
ennis-pter
Передавайте вот так:
http://site.com/it%3Cs_home_page.ph
neg
Только зарегистрированные и авторизованные пользователи могут отвечать.