За последние 24 часа нас посетили 17560 программистов и 1314 роботов. Сейчас ищут 1439 программистов ...

Замена символов в url

Тема в разделе "Регулярные выражения", создана пользователем Gelloiss, 21 апр 2015.

  1. Gelloiss

    Gelloiss Новичок

    С нами с:
    27 июл 2014
    Сообщения:
    5
    Симпатии:
    0
    Есть адрес: mysite.com/index.php?1&2+3+slovo+4 и т.п. Подскажите, пожалуйста, что прописать в index.php, чтобы при заходе по этой ссылке все "+" менялись на "ban" или на любой другой символ?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а чего не двухсоткой?
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.769
    Адрес:
    :сердА
    АВТОР, ПИЛИ УЖ ТРЕТЬЮ ТЕМУ, КАПСОМ КРАСНЫМ, И, РАЗУМЕЕТСЯ,


    Добавлено спустя 13 минут 3 секунды:
    Кроме шуток.
    1) Автор, не надо привлекать внимание раздутыми шрифтами. Ничего, кроме раздражаения окружающих это не даст.
    2) Если решил, что открыл тред не в той ветке, не нужно дубликаты делать, просто нажми кнопку "пожаловаться". Да да. Пожалуйся на свое собственное сообщение. В тексте жалобы напиши, мол "переместите, пжлст, тему туда-то". Нажатие этой кнопки не разверзнет небеса и не скинет тебя в пучину страданий. Оно просто привлечет модеров, которые прочтут текст и переместят топик.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.787
    Симпатии:
    1.328
    Адрес:
    Лень
    ТАКОЙ ПИПЕЦ ЕЩЕ НАДО ПОИСКАТЬ
     
  5. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    О! Я смортю, что открылся клуб для слабовидящих :)
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.769
    Адрес:
    :сердА
    Лан, народ, завязываем. Думаю, автор понял суть месседжа :)
    Есть что по теме?
     
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Код (PHP):
    1. <?php
    2. $url = http_build_query(array('param1' => '1', 'param2' => '2+3+slovo+4'));
    3.  
    4. echo "<a href='?$url'>click</a><br>";
    5.  
    6. if (empty($_GET['param2']) == false) {
    7.     echo str_replace('+','ban', $_GET['param2']);
    8. } 
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    denis01 там не значение параметра а имя
     
  9. Gelloiss

    Gelloiss Новичок

    С нами с:
    27 июл 2014
    Сообщения:
    5
    Симпатии:
    0
    Хорошо, спасибо, изменил!
    Да, я поздно понял, что не туда написал и решил просто сделать дубликат. Благодарю за замечание, если что буду пользоваться жалобами!

    Добавлено спустя 3 минуты 6 секунд:
    Возможно я не так выразился или что-то типа того. Нужно, чтобы заменялось ни при клике на ссылку (Что посоветовал denis01) а просто при вводе ссылки в адресную строку (любой ссылки, не обязательно slovo+1+2 и т.п.) типа /index.php?... все + заменяются на любой символ, например /. Кто-то может, пожалуйста, помочь?
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а denis01 и не советовал ссылки. вы просто не додумались что ссылки тут для примера. ну и собственно всего-то нужно все ключи гета заменять. только там не будет плюсов. там будут подстрочия.
     
  11. Gelloiss

    Gelloiss Новичок

    С нами с:
    27 июл 2014
    Сообщения:
    5
    Симпатии:
    0
    У меня изначально ссылка с плюсами, которые нужно чем-то заменить

    Добавлено спустя 5 минут 26 секунд:
    Ну вот, взял код, который скинул denis01:

    Код (Text):
    1. $url = http_build_query(array('param1' => '1', 'param2' => ' {здесь поставил адрес, который идет после /index.php?1&2'} '));
    2.             if (empty($_GET['param2']) == false) {
    3.                 echo str_replace('+','/', $_GET['param2']);
    4.             }
    Но ссылка открывается, как открывалась раньше, + не заменились. Подскажите, пожалуйста, почему, что я не так сделал?
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    если совсем немножечко подумать то можно заметить что в запросе нет ключа парам2. я на это денису указал сразу после того как он предложил решение (см сообщение от 2015-апр-22 10:06:30). потому что понятно что из этого решения вы не увидите решения ибо ожидаете вообще готовый код на блюдечке с голубой каемочкой. а в прошлом сообщении (см сообщение от 2015-апр-22 18:08:29) я сказал что нужно ключи гета смотреть. не сложно догадаться что предложенный алгоритм этого не делает желаемого. и модификацию вы самостоятельно не в состоянии провести. тогда почему вы ведем обсуждение в ветке регулярных выражений? с таким уровнем подготовки вам надо в новичках или блондинках. а при таком нежелании работать своей головой - в за меня или фрилансе. логично же? мы тут вообще о регулярках не говорили ни слова.
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Методом тыка возможно попаду в тот результат который хочет получить автор темы
    Код (PHP):
    1. echo str_replace('+','ban', $_SERVER['QUERY_STRING']);