(PHP 4, PHP 5, PHP 7)
rawurlencode — URL-Kodierung nach RFC 3986
$str
) : stringKodiert einen übergebenen String entsprechend » RFC 3986.
str
Der zu kodierende URL.
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.
Version | Beschreibung |
---|---|
5.3.4 | Tildezeichen werden nicht mehr kodiert, wenn rawurlencode() mit EBCDIC-Strings verwendet wird. |
5.3.0 | Entspricht nun » RFC 3986. |
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%[email protected]/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">