Видалення 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, викликавши функцію з цієї статті.
- Chcp - перегляд або зміна кодової сторінки в командному рядку windows.
- Реєстр windows. Способи редагування реєстру
- Як виправити помилку page fault in nonpaged area (0x00000050)?
- Як запустити php-функцію натисканням на посилання
- Nodejs. Що таке query strings.
- Як дізнатися вік за датою народження в php
- Навіщо потрібно властивість page-break-inside.
- Nodejs. Як зібрати шаблон з декількох частин.
- Редирект на jаvascript
- Строкові функції в php
- Nodejs. Навігація по сторінках.
- Створення функцій в php
- Створення движка на mvc. Закінчуємо роботу з чатом.
- Joomla
- Створення движка на mvc. Пишемо роутер.
- Генерація xls на php
- Nodejs. Template engine. Частина 1.
- Виправляємо помилку 0x00000050 (page fault in nonpaged area)
- Навігація по сторінках на php
- Функція array_pad в php.
- Pagination на php