Есть адрес: mysite.com/index.php?1&2+3+slovo+4 и т.п. Подскажите, пожалуйста, что прописать в index.php, чтобы при заходе по этой ссылке все "+" менялись на "ban" или на любой другой символ?
АВТОР, ПИЛИ УЖ ТРЕТЬЮ ТЕМУ, КАПСОМ КРАСНЫМ, И, РАЗУМЕЕТСЯ, Добавлено спустя 13 минут 3 секунды: Кроме шуток. 1) Автор, не надо привлекать внимание раздутыми шрифтами. Ничего, кроме раздражаения окружающих это не даст. 2) Если решил, что открыл тред не в той ветке, не нужно дубликаты делать, просто нажми кнопку "пожаловаться". Да да. Пожалуйся на свое собственное сообщение. В тексте жалобы напиши, мол "переместите, пжлст, тему туда-то". Нажатие этой кнопки не разверзнет небеса и не скинет тебя в пучину страданий. Оно просто привлечет модеров, которые прочтут текст и переместят топик.
Код (PHP): <?php $url = http_build_query(array('param1' => '1', 'param2' => '2+3+slovo+4')); echo "<a href='?$url'>click</a><br>"; if (empty($_GET['param2']) == false) { echo str_replace('+','ban', $_GET['param2']); }
Хорошо, спасибо, изменил! Да, я поздно понял, что не туда написал и решил просто сделать дубликат. Благодарю за замечание, если что буду пользоваться жалобами! Добавлено спустя 3 минуты 6 секунд: Возможно я не так выразился или что-то типа того. Нужно, чтобы заменялось ни при клике на ссылку (Что посоветовал denis01) а просто при вводе ссылки в адресную строку (любой ссылки, не обязательно slovo+1+2 и т.п.) типа /index.php?... все + заменяются на любой символ, например /. Кто-то может, пожалуйста, помочь?
а denis01 и не советовал ссылки. вы просто не додумались что ссылки тут для примера. ну и собственно всего-то нужно все ключи гета заменять. только там не будет плюсов. там будут подстрочия.
У меня изначально ссылка с плюсами, которые нужно чем-то заменить Добавлено спустя 5 минут 26 секунд: Ну вот, взял код, который скинул denis01: Код (Text): $url = http_build_query(array('param1' => '1', 'param2' => ' {здесь поставил адрес, который идет после /index.php?1&2'} ')); if (empty($_GET['param2']) == false) { echo str_replace('+','/', $_GET['param2']); } Но ссылка открывается, как открывалась раньше, + не заменились. Подскажите, пожалуйста, почему, что я не так сделал?
если совсем немножечко подумать то можно заметить что в запросе нет ключа парам2. я на это денису указал сразу после того как он предложил решение (см сообщение от 2015-апр-22 10:06:30). потому что понятно что из этого решения вы не увидите решения ибо ожидаете вообще готовый код на блюдечке с голубой каемочкой. а в прошлом сообщении (см сообщение от 2015-апр-22 18:08:29) я сказал что нужно ключи гета смотреть. не сложно догадаться что предложенный алгоритм этого не делает желаемого. и модификацию вы самостоятельно не в состоянии провести. тогда почему вы ведем обсуждение в ветке регулярных выражений? с таким уровнем подготовки вам надо в новичках или блондинках. а при таком нежелании работать своей головой - в за меня или фрилансе. логично же? мы тут вообще о регулярках не говорили ни слова.
Методом тыка возможно попаду в тот результат который хочет получить автор темы Код (PHP): echo str_replace('+','ban', $_SERVER['QUERY_STRING']);