PHP 8.3.27 Released!

curl_escape

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_escapeКодирует строку для безопасного включения в структуру URL-адреса

Описание

curl_escape(CurlHandle $handle, string $string): string|false

Функция кодирует части URL-адреса по стандарту » RFC 3986.

Список параметров

handle

Дескриптор модуля cURL, который вернула функция curl_init().

string

Строка для кодирования.

Возвращаемые значения

Функция возвращает экранированную строку или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Параметр handle теперь ожидает экземпляр класса CurlHandle; раньше, параметр ждал ресурс (resource).

Примеры

Пример #1 Пример кодирования строки функцией curl_escape()

<?php

// Создаём curl-дескриптор
$ch = curl_init();

// Экранируем строку с GET-параметрами
$location = curl_escape($ch, 'Hofbräuhaus / München');
// Результат: Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// Включаем заэкранированную строку в структуру URL-адреса
$url = "http://example.com/add_location.php?location={$location}";
// Результат: http://example.com/add_location.php?location=Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// Устанавливаем параметры и отправляем HTTP-запрос
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

?>

Смотрите также

  • curl_unescape() - Декодирует строку, закодированную для безопасного включения в структуру URL-адреса
  • urlencode() - Кодирует строку для безопасного включения в структуру URL-адреса
  • rawurlencode() - URL-кодирование строки согласно RFC 3986
  • » RFC 3986

Добавить

Примечания пользователей 3 notes

up
1
Franois
11 years ago
This function is strictly equivalent to rawurlencode().

Internally it uses curl_easy_escape() from libcurl, whose doc says: "This function converts the given input string to an URL encoded string (…). All input characters that are not a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number)."
up
0
sam dot tyurenkov at gmail dot com
5 years ago
Please someone add an example for escaping ampersands between parameters.

E.g. what is the correct approach for using this URL with curl:
https://example.com/?p1=1&p2=2&p3=3

This is not obvious, and needs explanation.
up
0
Nico
11 years ago
What is difference between this function and urlencode()?
To Top