curl_escape

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

curl_escapeURL encodes the given string

Description

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

This function URL encodes the given 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.

Changelog

Version Description
8.0.0 handle expects a CurlHandle instance now; previously, a resource was expected.

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($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_exec($ch);
curl_close($ch);
?>

See Also

add a note add a note

User Contributed Notes 3 notes

up
4
Franois
6 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
10 months 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
-2
Nico
6 years ago
What is difference between this function and urlencode()?
To Top