curl_unescape în PHP

cURL și email PHP 5.5+

Decodează secvențele %XX dintr-un text, folosind libcurl. Semnul + rămâne neschimbat, ca la rawurldecode.

Sintaxă
curl_unescape(CurlHandle $handle, string $string): string|false

Ce face curl_unescape

curl_unescape este perechea lui curl_escape. Transformă %20 în spațiu și %C8%99 în „ș”, dar lasă semnul + așa cum este.

Parametri

Parametru Descriere
$handle O cerere cURL oarecare.
$string Textul decodat.

Ce returnează

Textul decodat, sau false la eroare.

Exemple

Exemplul 1: Decodare, cu + păstrat

<?php
$ch = curl_init();

var_dump(curl_unescape($ch, "a+b%20c%C8%99"));
var_dump(urldecode("a+b%20c%C8%99"));

Rezultat

string(7) "a+b cș"
string(7) "a b cș"

Greșeli frecvente

  • Decodezi cu ea date de formular, unde spațiul este scris ca +. Folosește urldecode.

Comenzi înrudite

  • curl_escape: Codează un text pentru URL folosind libcurl (spațiul devine %20), la fel ca rawurlencode.
  • rawurlencode / rawurldecode: Codează un text pentru URL după standardul RFC 3986: spațiul devine %20. Se folosește pentru bucățile din calea adresei.
  • urlencode / urldecode: Codează un text ca să poată fi pus în siguranță într-un URL, ca valoare a unui parametru (după ?).