Удаление процентной кодировки в URL-адресах с помощью PHP: полезные советы и подсказки

Метод 1: использование функции rawurldecode()
Самый простой способ удалить процентное кодирование из URL-адреса в PHP — использовать функцию rawurldecode(). Эта функция декодирует любые специальные символы в URL-адресе, включая знак процента. Вот пример:

$url = "https://www.example.com/page.php?url=https%3A%2F%2Fwww.example.com%2Fpath%2Fpage.php";
$decodedUrl = rawurldecode($url);
echo $decodedUrl;

Выход:

https://www.example.com/page.php?url=https://www.example.com/path/page.php

Метод 2. Использование функции str_replace().
Другой подход заключается в использовании функции str_replace()для замены знака процента и связанных с ним шестнадцатеричных значений («%xy») соответствующими символами.. Вот пример:

$url = "https://www.example.com/page.php?url=https%3A%2F%2Fwww.example.com%2Fpath%2Fpage.php";
$decodedUrl = str_replace("%", "", $url);
echo $decodedUrl;

Выход:

https://www.example.com/page.php?url=https3A2F2Fwww.example.com2Fpath2Fpage.php

Метод 3: использование функций parse_url() и rawurldecode()
Если вы специально хотите декодировать только определенную часть URL-адреса, например строку запроса, вы можете использовать parse_url(), чтобы извлечь нужную часть, а затем применить функцию rawurldecode()для ее декодирования. Вот пример:

$url = "https://www.example.com/page.php?url=https%3A%2F%2Fwww.example.com%2Fpath%2Fpage.php";
$decodedQuery = rawurldecode(parse_url($url, PHP_URL_QUERY));
echo $decodedQuery;

Выход:

url=https://www.example.com/path/page.php

В этой статье мы рассмотрели три различных метода удаления процентного кодирования из URL-адресов в PHP. Независимо от того, предпочитаете ли вы использовать функцию rawurldecode(), функцию str_replace()или комбинацию parse_url()и rawurldecode(), теперь вы можете иметь в своем распоряжении несколько техник. Выберите метод, который лучше всего подходит для вашего конкретного случая использования, и начните без проблем декодировать эти URL-адреса.

Помните, что эффективная обработка URL-адресов имеет решающее значение для веб-разработки, и понимание того, как правильно ими манипулировать, может значительно улучшить ваши навыки программирования PHP.