PHP 8.3.4 Released!

curl_escape

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

curl_escapeURL-kodiert den angegebenen String

Beschreibung

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

Diese Funktion URL-kodiert den angegebenen String gemäß » RFC 3986.

Parameter-Liste

handle

Ein von curl_init() zurückgegebenes cURL-Handle.

string

Der zu kodierende String.

Rückgabewerte

Gibt den kodierten String zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.0.0 handle erwartet nun eine CurlHandle-Instanz; vorher wurde eine Ressource erwartet.

Beispiele

Beispiel #1 curl_escape()-Beispiel

<?php
// Neues cURL-Handle erstellen
$ch = curl_init();

// String kodieren, der als GET-Parameter verwendet wird
$location = curl_escape($ch, 'Hofbräuhaus / München');
// Ergebnis: Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// URL mit dem kodierten String erstellen
$url = "http://example.com/add_location.php?location={$location}";
// Ergebnis: http://example.com/add_location.php?location=Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// HTTP-Anfrage senden und cURL-Handle schließen
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>

Siehe auch

add a note

User Contributed Notes 3 notes

up
4
Franois
9 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
1
sam dot tyurenkov at gmail dot com
3 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=3

This is not obvious, and needs explanation.
up
-2
Nico
9 years ago
What is difference between this function and urlencode()?
To Top