urldecode
<<<
urlencode Référence des fonctions
>>>

6.37 URL
6 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
base64_decode
base64_encode
get_headers
get_meta_tags
http_build_query
parse_url
rawurldecode
rawurlencode
urldecode
->urlencode

6.37.16 urlencode()Encode une chaîne en URL

[ Exemples avec urlencode ]   PHP 3, PHP 4, PHP 5

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 RFC 1738 (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), '">';
?>

Note: Faites bien attention aux variables qui ressemblent à des entités HTML, comme &amp, &copy et &pound, 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 du fichier php.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 en utilisant htmlentities ou htmlspecialchars .

Exemple avec urlencode et htmlentities

<?php
$query_string
= 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo
'<a href="moncgi?' . htmlentities($query_string) . '">';
?>

Voir aussi urldecode , htmlentities , rawurldecode et rawurlencode .

<< urlencode >>
urldecode URL Référence des fonctions