Видалення get-параметра з url

Видалення GET-параметра з URL

Відео: Як повністю відключити, видалити захисник windows, який не дає нормально грати або працювати!

У сьогоднішній статті я вирішив розібрати дуже корисну функцію, видаляє будь-GET-параметр з рядка. Де це може бути потрібно? Припустимо, Ви робите навігацію по сторінках. І Вам необхідно зробити універсальний скрипт її створення, додаючи до поточному URL параметр page. Однак, поточний URL може бути вже з параметром page. У підсумку, вийде, наприклад, такий URL: "/? Page = 5page = 7". Тоді як правильний повинен бути:"/? Page = 7". Таким чином, необхідно спочатку видалити параметр page, а вже потім скрипт створення навігації по сторінках зробить свою справу.




Наводжу відразу код функції, яка це робить:

Відео: Метод GET і POST відправки даних HTML-форми. # 42

lt ;?php
function deleteGET($ url, $ name, $ amp =true){
$ url
= str_replace("","", $ url) -// Замінюємо суті на амперсанд, якщо потрібно
list
($ url_part, $ qs_part)= array_pad(explode("?", $ url),2,"") -// Розбиваємо URL на 2 частини: до знака? і після
parse_str
($ qs_part, $ qs_vars) -// Розбиваємо рядок із запитом на масив з параметрами і їх значеннями
unset
($ qs_vars[$ name]) -// Видаляємо необхідний параметр
if(count($ qs_vars)gt;0){// Якщо є параметри
$ url
= $ url_part."?".http_build_query($ qs_vars) -// Збираємо URL назад
if($ amp) $ url = str_replace("","", $ url) -// Замінюємо амперсанди назад на суті, якщо потрібно
}
else $ url = $ url_part-// Якщо параметрів не залишилося, то просто беремо все, що йде до знака?
return $ url-// Повертаємо підсумковий URL
}
echo deleteGET
("Http://mysite.ru/?view=categorypage=5id=5","Page") -
?gt;



Не дуже складний скрипт, однак, він виконує дуже складну задачу - видалення GET-параметра з URL. Адже тут є величезна кількість нюансів. Просто видалити рядок - легко, але ж потрібно, щоб зник "?", Якщо не залишилося більше параметрів. Потрібно, щоб зник""Перед віддаленим параметром, але за умови, що він був не перший в рядку запиту. Потрібно, щоб пішов після параметра, але за умови, що він був не останній. Але при цьому не можна видалити відразу і спереду, і ззаду амперсанд, інакше постраждають параметри до і після видаляється. Бачите, скільки нюансів, в здавалося б простого завдання? Дана ж функція все це враховує.

Відео: Як видалити дату з # фотографії Найпростіший спосіб Без фотошопа

Ось так можна легко видалити GET-параметр з URL, викликавши функцію з цієї статті.

Поділися в соціальних мережах:

Схожі
Як запустити php-функцію натисканням на посиланняЯк запустити php-функцію натисканням на посилання
Nodejs. Що таке query strings.Nodejs. Що таке query strings.
Nodejs. Template engine. Частина 1.Nodejs. Template engine. Частина 1.
Chcp - перегляд або зміна кодової сторінки в командному рядку windows.Chcp - перегляд або зміна кодової сторінки в командному рядку windows.
Як виправити помилку page fault in nonpaged area (0x00000050)?Як виправити помилку page fault in nonpaged area (0x00000050)?
Шаблонизатор на phpШаблонизатор на php
Функція array_pad в php.Функція array_pad в php.
Генерація xls на phpГенерація xls на php
Редирект на jаvascriptРедирект на jаvascript
Створення движка на mvc. Закінчуємо роботу з чатом.Створення движка на mvc. Закінчуємо роботу з чатом.
» » Видалення get-параметра з url