Ce face curl_escape
curl_escape codează după RFC 3986, cu rezultat identic cu rawurlencode pentru textele obișnuite. Are nevoie de o cerere cURL, deși nu o folosește pentru trimitere.
În cod PHP obișnuit, rawurlencode sau http_build_query sunt mai simple.
Parametri
| Parametru | Descriere |
|---|---|
$handle |
O cerere cURL oarecare. |
$string |
Textul codat. |
Ce returnează
Textul codat, sau false la eroare.
Exemple
Exemplul 1: Comparație cu rawurlencode
<?php
$ch = curl_init();
$text = "cafea & ceai/Iași?";
echo curl_escape($ch, $text) . "\n";
var_dump(curl_escape($ch, $text) === rawurlencode($text));
Rezultat
cafea%20%26%20ceai%2FIa%C8%99i%3F
bool(true)
Greșeli frecvente
- Codezi tot URL-ul. Se codează și
:și/, iar adresa se strică. Codează doar valorile.
Comenzi înrudite
curl_unescape: Decodează secvențele %XX dintr-un text, folosind libcurl. Semnul + rămâne neschimbat, ca la rawurldecode.rawurlencode / rawurldecode: Codează un text pentru URL după standardul RFC 3986: spațiul devine %20. Se folosește pentru bucățile din calea adresei.http_build_query: Transformă un tablou în textul de interogare al unui URL (a=1&b=2), cu toate valorile codate corect.