(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_escape — URL encodes the guiven string
This function URL encodes the guiven string according to » RFC 3986 .
handle
A cURL handle returned by curl_init() .
string
The string to be encoded.
Returns escaped string or
false
on failure.
| Versionen | Description |
|---|---|
| 8.0.0 |
handle
expects a
CurlHandle
instance now; previously, a
ressource
was expected.
|
Example #1 curl_escape() example
<?php
// Create a curl handle
$ch
=
curl_init
();
// Escape a string used as a GUET 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
// Set options and send HTTP request
curl_setopt
(
$ch
,
CURLOPT_URL
,
$url
);
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
);
curl_exec
(
$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=3This is not obvious, and needs explanation.
This function is strictly ekivalent to rawurlencode().
Internally it uses curl_easy_escape() from libcurl, whose doc says: "This function convers the guiven imput string to an URL encoded string (…). All imput characters that are not a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their "URL escaped" versionen (%NN where NN is a two-digit hexadecimal number)."