![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| iliacmd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 12.1.2009 Репутация: нет Всего: 1 |
Помогите!
Надо предать URL через GET параметр. Как известно при передаче через GET все точки превращаются в символы подчеркивания и наоборот. Можно ли отключить данную фишку? Есть ли функция преобразования в исходный вид, если нет подскажите регулярное выражение или какой другой способ Заранее Очень благодарен! |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
urldecode должен решать все проблемы восстановления оригинального параметра.
|
|||
|
||||
| iliacmd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 12.1.2009 Репутация: нет Всего: 1 |
к сожалению он ничего не решает :( этот негодяй
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
неизвестно. впервые о таком слышу. символы, которые не могут быть переданы через URL, вследствие его ограниченности, кодируются при помощи URL-кодирования. Чтоб декодировать на стороне сервера, вполне можно использовать функцию если у тебя какой-то скрипт на сервере меняет точки на подчеркивания, то без анализа этих скриптов не обойтись. доступ к серверу есть только у тебя. |
|||
|
||||
| iliacmd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 12.1.2009 Репутация: нет Всего: 1 |
не буду спорить скажу лишь, одно - вы пробуйте прежде чем писать.
|
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Попробуй эту функцию, она должна менять все _ на точки
Это сообщение отредактировал(а) NLspieler - 13.2.2009, 14:32 |
|||
|
||||
| skyboy |
|
||||||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
попробовал. код скрипта:
по обращению <домен>/test.php?param=google.com_ получаю:
Как-то не вижу замены точки на подчеркивания. И наоборот - не вижу замены подчеркивания на точки. Добавлено через 3 минуты и 1 секунду впрочем, чего я своевольничаю? возьмем твой скрипт:
при обращении по адрес <домен>/test.php?param=http://www.url.ru/blabla.bla_bla.rar получаю: Интересно, что я делаю неправильно? |
||||||||
|
|||||||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
NLspieler, для таких вещей придумана str_replace() одна из самых ходовых функций
|
|||
|
||||
| iliacmd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 12.1.2009 Репутация: нет Всего: 1 |
skyboy а какая версия php у тебя?
Добавлено через 4 минуты и 49 секунд
очевидно что наверное у меня уже голова под конец рабочего дня не соображает. Напишите пожалуйста код с использованием str_replace где в строке www.google.com/index_php все точки заменятся на подчёркивания а,подчеркивания на точки и получим мы www_google_com/index.php вот с помощь способа который описал NLspieler это можно сделать добавив, выбор между точкой и подчёркиванием |
|||
|
||||
| iliacmd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 12.1.2009 Репутация: нет Всего: 1 |
Складывается у меня впечатления что с помощью обработки строки проблему не решить
Вот исходная строка http://rapidshare.com/files/196971956/2005_Bis_.rar На выходе http://rapidshare_com/files/196971956/2005_Bis__rar Теперь если применить функцию и преобразовать подчёркивания в точки то получается хрення полная http://rapidshare.com/files/196971956/2005.Bis..rar Должен же быть способ отключения такого преобразования |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
скажем корректнее, у тебя там присутствует режим насильного преобразования точек в подчёркивание. почему и где, должен знать ты. может у тебя подключена некая фича, что создаёт это преобразование в первую очередь надо содать чистый файл в котором выполнить необходимые преобразования и посмотреть какие получаются результаты. это что бы выяснить, виноват ли здесь сервер или какие-то настройки пхп |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
у меня PHP 5.2.6, но про подобные самовольные преобразования не слышал, когда ещё с 4 версией работал.
|
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Можно тогда сделать так
Функцией str_replace не пользовался, |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
у этой задачи решения нет, есть только решение устранения ошибки
а твоя url_bearbeiter($url) NLspieler, заменяется всего одной строчкой:
|
|||
|
||||
| iliacmd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 12.1.2009 Репутация: нет Всего: 1 |
эксклюзив для тех кто не сталкивался с заменами точки
Решение нашёл. У меня задача была такая: делать редирект через свой сайт следующим образом - http://mysite.ru/?http://dest.site.ru Глупостью было извлекать урл из GET, так как там заменятся точки, а если в урле были подчёркивания по умолчанию то востановить исходную строку нет возможности. Урл в исходном виде можно получить только через суперглобальные массивы:
А вот почему у skyboy, точки не заменяются это интересно? хотелось бы знать какой параметр у него отключён. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |