Удалить get параметр php
Добавить, изменить и удалить параметры GET из строки запроса
Допустим, текущая строка запроса следующая
Мне нужна функция, которая может добавлять и удалять несколько параметров из строки запроса. Например:
Таким образом, функция должна не только добавлять новые параметры (eyes = 2 и finger = 10), но и изменять уже существующие (car = black => car = purple).
Все эти новые и измененные параметры могут быть переданы в первом аргументе функции. Разделены по «&».
Второй аргумент функции должен передавать все ключи параметров, которые должны быть удалены из строки запроса, если она есть.
Я управлял только первой частью, которая может добавлять и заменять параметры. Но, может быть, у кого-то есть более эффективный способ, включая второй аргумент для удаления вещей из строки запроса.
5 ответов
Это должно работать для вас, используя parse_str (), array_merge () и http_build_query ()
Я перебрал бы массив запросов в поисках наличия ключей в массиве замены и обновлялся на основе этого. После этого я перебираю в обратном порядке массив запросов, ища ключи в массиве удаления, и удаляю эти экземпляры из массива запросов.
Поскольку 2-й должен быть выполнен задом наперед, чтобы предотвратить проблемы в индексах, вы не можете выполнять оба цикла одновременно. Если вы попробуете это, или даже попытаетесь выполнить 2-й шаг вперед, вам понадобится больше кода, и он очень запутается. Я предлагаю сделать удаление последним, так как вы, очевидно, хотите сохранить порядок существующих ключей, и это только минимальное снижение производительности, чтобы сделать это последним. Это мнение о производительности предполагает, что вы не выполняете десятки тысяч (или более) этих параметров и придерживаетесь веб-стандартизированного допустимого количества символов в вашем URL / URI.
Конечно, есть много разных способов кодирования этого, а также разные методы, чем я описываю, чтобы делать то, что вы хотите. Я просто описываю, что я буду делать. Если у других людей есть другие мнения, я рекомендую вам опубликовать свой собственный ответ, вместо того, чтобы отказываться голосовать или критически комментировать этот ответ.
Поскольку это кажется возможным, это может быть домашнее задание, я не собираюсь кодировать это для ОП. Если это не домашнее задание, я думаю, что они смогут понять это самостоятельно из того, что я уже дал.
Надеюсь, я был полезным и удачи!
Вы не должны изменять магию PHP GLOBALS.
Использование массивов более читабельно, чем строки. Так что попробуйте эту модификацию, которая может соответствовать вашим потребностям.
После того, как вы проанализировали строки запроса в массивах, вы можете объединить и преобразовать их, чтобы получить желаемый результат.
Это будет обрабатывать только простые строки запроса. Если есть вложенные элементы, вам понадобится рекурсивное решение. Но это верно для любого из этих ответов, а также для вашей первоначальной функции.
Удаление параметра из строки GET по регулярному выражению
Но нормальных результатов оно не дает, что я не правильно составил тут? (делал по учебнику)
3 ответа 3
Без регулярных выражений:
Для корректного удаления подстроки понадобится шаблон, состоящий из трёх альтернатив:
Если удаляемый элемент находится сразу после вопросительного знака, но не является единственным GET-параметром
(в этом случае надо оставить знак «?», и удалить знак «&» вместе с удаляемым элементом)
Если удаляемый элемент находится сразу после вопросительного знака, и является единственным GET-параметром
(в этом случае надо удалить знак «?», и все остальные символы после него)
Если удаляемый элемент находится в любой другой позиции подстроки
(в этом случае, вместе с удаляемыми символами надо удалять и знак «&», предшествующий удаляемой подстроке)
Шаблон будет иметь следующий вид:
В комплекте с PHP-функцией он будет выглядеть таким образом:
Как убрать GET параметры в адресной строке
Здравствуйте!
Возможно преобразовать ссылку test1.ru/index.php?page=1 в test1.ru/index/page/1/
Скрипт постраничной навигации
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Привожу код полностью, появилась ошибка в 45 строке (Parse error: syntax error, unexpected T_IF)
Получилось
Я правильно понял, что одиночный » / » сразу обращается к каталогу или файлу который в корне, а «../» поднимает на один уровень выше.
Внутренняя ошибка сервера.
Добавлено через 55 минут
Не одна страница не открывается когда этот код прописываю.
Добавлено через 40 минут
Ошибка в коде, где убираем php в строке:
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как отключить в хроме поиск в адресной строке?
Поставил Open Server, создал в папке domains папку с именем моего домена, перезапустил сервер, пишу.
Как изначально задать параметр в адресной строке?
Сейчас при загрузке с домашней страницы адрес выглядит вот так: /index.php В коде задано условие.
Как сделать, чтобы в адресной строке не отображалось расширение php?
как сделать чтоб не высвечивалась приставка php? и заходить что б можно было
$_GET разобрать параметры адресной строки
Добрый вечер, мне надо сделать так что бы при клике залоговка открывался полный текст записи я.
Удалить параметр URL с помощью PHP
У меня есть некоторые ссылки в презентации powerpoint, и по какой-то причине, когда эти ссылки нажимаются, он добавляет возвращаемый параметр в URL. Ну, этот возвращаемый параметр вызывает сбой шаблона MVC моего сайта Joomla.
Итак, каков эффективный способ удалить этот возвращаемый параметр с помощью PHP.
15 ответов
самый безопасный» правильный » метод будет:
в другом потоке Джастин предполагает, что самый быстрый способ-использовать strtok ()
см. его полный ответ с тестами скорости также здесь:https://stackoverflow.com/a/1251650/452515
это дополнение Марка Бответ с примером, хотя он может выглядеть довольно долго, это безопасный способ удалить параметр. В этом примере мы удаляем page_number
parse_str анализирует строку запроса, http_build_query создает строку запроса.
вы могли бы сделать preg_replace как:
вот фактический код для того, что описано выше как «самый безопасный»правильный » метод».
однако, поскольку это, вероятно, будет существовать до загрузки вашего приложения, вы, вероятно, должны поместить его в анонимную функцию. Вроде этого.
Это один из многих способов, не проверял, но должно работать.
процессуальное оформление марка Б ответ после переработки Сергей Telshevsky это!—3—> ответ.
Вау, здесь много примеров. Я предоставляю тот, который делает некоторую обработку ошибок. Он перестраивает и возвращает весь URL-адрес с помощью строки запроса-param-to-be-removed, removed. Он также предоставляет бонусную функцию, которая строит текущий URL-адрес на лету. Проверено, работает!
вторая строка просто заменит & & to&
@MarcB упомянул, что грязно использовать regex для удаления параметра url. И да, это так, потому что это не так просто, как кажется:
Как вы можете видеть, только @kraftb опубликовал правильный ответ с помощью regex, и моя версия немного меньше.
/ / просто скопируйте приведенный выше код и просто вызовите эту функцию, чтобы получить новый url без определенного параметра
Echo remove_attribute($url, ‘delete_params’); / / дает новый url без этого параметра
это удалит параметр ‘i’из URL-адреса. Измените » я » на все, что вам нужно.
Удалить дублирующие гет-параметры из url
у меня есть 2 ссылки, которые добавляют к URL гет-параметры.
url вида site/lk/games/
когда перехожу по первой в URL появляется site/lk/games/?CID=2
когда по второй site/lk/games/?CID=2?TID=1
Помощь в написании контрольных, курсовых и дипломных работ здесь.

Добрый. Есть простая форма, в которой НЕ ВСЕ поля обязательны к заполнению, пусть на коленке это.
Убрать гет параметр из url
Всем привет,кто скажет как убрать гет параметр из url? например: сейчас есть: site.com/id?=1 мне.
Удалить дублирующие записи!
Здраствуйте! У меня возникла такая проблема. Я отфильтровываю данные по такому коду, чтобы убрать.

Отправляю данные в через xmlHttpRequest. В параметрах функции open() пишу.
Это не дублирование, а наследование. Формируйте ссылку не на основе REQUEST_URI, а исключительно на основе пути.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
С помощью запроса удалить дублирующие записи
Перерыл весь инет но так и не нашел какое нужно поставить условие ((( Таблица Клиент (ключевого.
Как скрыть параметры URL и передать их методом пост используя Url.Action()
Здравствуйте. У меня в представлении на сайте есть ссылка, которая формируется в методе действии.

Здравствуйте. Пытаюсь решить задачу. Суть: удалить дублирующие пробелы и заменить их одним.



