rawurlencode

(PHP 4, PHP 5, PHP 7)

rawurlencodeURL-Kodierung nach RFC 3986

Beschreibung

rawurlencode ( string $str ) : string

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%[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">

Siehe auch