Метод 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.