curl_escape
(PHP 5 >= 5.5.0)
curl_escape — URL encodes the given string
Description
string curl_escape
( resource
$ch
, string $str
)This function URL encodes the given string according to » RFC 3986.
Parameters
-
ch
-
A cURL handle returned by curl_init().
-
str
-
The string to be encoded.
Return Values
Returns escaped string or FALSE
on failure.
Examples
Example #1 curl_escape() example
<?php
// Create a curl handle
$ch = curl_init();
// Escape a string used as a GET parameter
$location = curl_escape($ch, 'Hofbräuhaus / München');
// Result: Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen
// Compose an URL with the escaped string
$url = "http://example.com/add_location.php?location={$location}";
// Result: http://example.com/add_location.php?location=Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen
// Send HTTP request and close the handle
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>
See Also
- curl_unescape() - Decodes the given URL encoded string
- urlencode() - URL-encodes string
- rawurlencode() - URL-encode according to RFC 3986
- » RFC 3986
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие службы
- Клиентская библиотека работы с URL
- curl_close
- curl_copy_handle
- curl_errno
- curl_error
- curl_escape
- curl_exec
- curl_file_create
- curl_getinfo
- curl_init
- curl_multi_add_handle
- curl_multi_close
- curl_multi_exec
- curl_multi_getcontent
- curl_multi_info_read
- curl_multi_init
- curl_multi_remove_handle
- curl_multi_select
- curl_multi_setopt
- curl_multi_strerror
- curl_pause
- curl_reset
- curl_setopt_array
- curl_setopt
- curl_share_close
- curl_share_init
- curl_share_setopt
- curl_strerror
- curl_unescape
- curl_version
Коментарии
What is difference between this function and urlencode()?
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)."
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.