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.
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_escape — Кодирует заданную строку как 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_close($ch);
?>
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.
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)."