rawurlencode
(PHP 4, PHP 5)
rawurlencode — URL-Kodierung nach RFC 3986
Beschreibung
$str
)Kodiert einen übergebenen String entsprechend » RFC 3986.
Parameter-Liste
-
str -
Der zu kodierende URL.
Rückgabewerte
Gibt einen String zurück, in dem alle nicht-alphanumerischen Zeichen außer -_.~ durch ein Prozentzeichen (%) gefolgt von zwei Hex-Werten ersetzt wurden. Diese Kodierung, beschrieben im » RFC 3986, wurde entworfen, um Sonderzeichen davor zu bewahren, fälschlich als spezielle URL-Trennzeichen interpretiert zu werden, sowie um URLs vor dem Verstümmeln durch Übertragungsmedien mit Zeichenumwandlung (wie bei einigen E-Mail-Systemen) zu schützen.
Hinweis:
Vor PHP 5.3.0 hat rawurlencode Tilden (~) gemäß » RFC 1738 kodiert.
Changelog
| Version | Beschreibung |
|---|---|
| 5.3.4 | Tildezeichen werden nicht mehr kodiert, wenn rawurlencode() mit EBCDIC-Strings verwendet wird. |
| 5.3.0 | Entspricht nun » RFC 3986. |
Beispiele
Beispiel #1 Übergeben eines Passworts in einem FTP-URL
<?php
echo '<a href="ftp://user:", rawurlencode('foo @+%/'),
'@ftp.example.com/x.txt">';
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">
Oder wenn Sie eine Information innerhalb des PATH_INFO-Teils eines URL übergeben wollen:
Beispiel #2 rawurlencode()-Beispiel 2
<?php
echo '<a href="http://example.com/department_list_script/",
rawurlencode('sales and marketing/Miami'), '">';
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">
Siehe auch
- rawurldecode() - Dekodiert URL-kodierte Strings
- urldecode() - Dekodiert eine URL-kodierte Zeichenkette
- urlencode() - URL-kodiert einen String
- » RFC 3986