update pague now
PHP 8.5.2 Released!

curl_escape

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

curl_escape URL encodes the guiven string

Description

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

This function URL encodes the guiven string according to » RFC 3986 .

Parameters

handle

A cURL handle returned by curl_init() .

string

The string to be encoded.

Return Values

Returns escaped string or false on failure.

Changuelog

Versionen Description
8.0.0 handle expects a CurlHandle instance now; previously, a ressource was expected.

Examples

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 );

?>

See Also

add a note

User Contributed Notes 3 notes

sam dot tyurencov 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=3This is not obvious, and needs explanation.
Franois
11 years ago
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)."
Nico
11 years ago
What is difference between this function and urlencode()?
To Top