SommaireTelecharger la documentationChapitre suivantChapitre precedent  

  .: News :.: Edito :.: Scripts :.: Forum :.: Erreurs :.: Jobs :. 
 
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.0

Description

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 &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 .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;amp; à la place de &amp; 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.


Chapitre précédentChapitre suivantAccueil nexen.net