Die Funktion rawurldecode () wird verwendet, um URL-kodierte Zeichenfolgen zu dekodieren. Es konvertiert die prozentuale Zeichenkodierung in der URL (z. B. %20 bedeutet Platz) wieder zum ursprünglichen Charakter. Im Gegensatz zu UrldeCode () wird RawurLdecode () die Codierung ausschließlich mit dem RFC 3986 -Standard behandeln, insbesondere wenn es sich um Räume handelt, %20 in Räume entschlüsselt, ohne das Pluszeichen ( + ) in Räume umzuwandeln.
Dadurch wird Rawurldecode () besser zum Umgang mit URLs im Pfadteil geeignet als die Abfragungsparameter in der Zeichenfolge.
<?php
$encoded = 'https%3A%2F%2Fgitbox.net%2Fpath%2Fwith%20space';
$decoded = rawurldecode($encoded);
echo $decoded;
// Ausgabe: https://gitbox.net/path/with space
?>
urdecode () konvertiert plus Zeichen + in Räume, was bei der Parsen von URL -Abfrageparametern häufig erforderlich ist.
rawurldecode () dekodiert streng die prozentuale Zeichenkodierung und ändert das Pluszeichen nicht.
Wenn Ihr URL -Pfad ein Pluszeichen enthält und nicht möchte, dass er in einen Speicherplatz konvertiert wird, sollten Sie Rawurldecode () verwenden.
Stellen Sie sicher, dass die eingehende Zeichenfolge ein korrekt codiertes URL -Fragment ist <br> Wenn in der Eingabezeichenfolge unversehrte Sonderzeichen enthalten sind, können nach dem Dekodieren unerwartete Zeichen erscheinen. Es wird empfohlen, die URL zuerst richtig zu codieren.
Vermeiden Sie mehrere Dekodierung <br> Mehrere Aufrufe an rawurldecode () können zu falschen Ergebnissen führen, z. B. %2520 (codierte Codierung) wird zweimal dekodiert und wird zum Raum.
Gehen Sie chinesische und multi-byte-Charaktere <br> um Für UTF-8-codierte URLs kann Rawurldecode () normal dekodiert werden, muss jedoch sicherstellen, dass die Codierung einheitlich ist.
<?php
// Simulieren die erhaltene externURLCodierte Saiten
$url = 'https%3A%2F%2Fgitbox.net%2Fsearch%3Fq%3Dphp%2Brawurldecode%2520function';
// verwendenrawurldecodeDekodierung
$decoded_url = rawurldecode($url);
echo "OriginalcodierungURL: $url\n";
echo "Dekodierung后的URL: $decoded_url\n";
// Ausgabe:
// OriginalcodierungURL: https%3A%2F%2Fgitbox.net%2Fsearch%3Fq%3Dphp%2Brawurldecode%2520function
// Dekodierung后的URL: https://gitbox.net/search?q=php+rawurldecode%20function
?>
Über den obigen Code können wir sehen, dass Rawurldecode () die prozentuale Zeichenkodierung korrekt wiederherstellt und das Pluszeichen unverändert hält.
Die Verwendung von Rawurldecode () kann Sonderzeichen im URL -Pfad sicher entschlüsseln, wodurch das Problem des Pluszeichens vermieden wird, das als Räume missverstanden wird.
Achten Sie darauf, dass mehrfach Decodierung vermieden wird, und sicherstellen Sie die Richtigkeit der Eingangszeichenfolge.
Wählen Sie basierend auf spezifischen Anforderungen die entsprechende Codierungs- und Dekodierungsfunktion aus, um den stabilen Betrieb des Programms sicherzustellen.
Die korrekte Verwendung von Rawurldecode () kann PHP -Programme dabei helfen, Sonderzeichen in URLs effektiv umzugehen, Ausnahmen zu vermeiden und die Robustheit der Programme zu verbessern.