Sommaire
URL
base64_decode
base64_encode
parse_url
rawurldecode
rawurlencode
urldecode
urlencode
|
6.97.7 urlencode[ Exemples avec urlencode ] PHP 3, PHP 4 >= 4.0.0Description
string urlencode(string str )
urlencode retourne une chaîne dont les
caractères non alpha-numériques (hormis -_.)
sont remplacés par des séquences commençant
par un caractère pourcentage (%),
suivi de deux chiffres hexadécimaux. Les espaces sont
remplacés par des signes plus (+).
Ce codage est celui qui est utilisé pour poster des
informations dans les formulaires HTML. Le type MIME est
application/x-www-form-urlencoded.
Ce codage est différent de celui spécifié
dans la RFC1738 (voir rawurlencode) : pour
des raisons historiques, les espaces sont remplacés par
des signes plus (+). urlencode
est pratique pour transmettre des informations via une URL.
C'est aussi un moyen de passer des informations d'une
page à l'autre.
Exemple avec urlencode |
<?php echo '<A HREF="moncgi?foo=', urlencode ($userinput), '">'; ?>
|
Voir aussi
urldecode.
Note: Faites bien attention aux variables qui ressemblent à
des entités HTML, comme par exemple &, © et £,
qui sont analysées par le client web et remplacée par leur
valeur. C'est un vrai problème qui a été montré par le W3C
depuis longtemps. La référence est ici :
http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2.
PHP supporte le remplacement de séparateur d'arguments par un
point-virgule, comme recommandé par le W3C, grâce à
la directive arg_separator .ini. Malheureusement, la plupart des clients web
n'envoient pas leurs données de formulaire avec des points-virgules. Une
solution plus portable est d'utiliser &amp;
à la place de & comme
séparateur. Vous n'avez alors pas à changer la directive
arg_separator. Laissez-la à &, mais encodez vos URL avec
htmlentities.
Exemple avec urlencode et
htmlentities |
<?php echo '<A HREF="moncgi?foo=', htmlentities (urlencode ($userinput) ), '">'; ?>
|
Voir aussi
urldecode,
htmlentities,
rawurldecode et
rawurlencode.
|