urlencode
(PHP 4, PHP 5)
urlencode — Encode une chaîne en URL
Description
$str
)Cette fonction est utile lors de l'encodage d'une chaîne de caractères à utiliser dans la partie d'une URL, comme façon simple de passer des variables vers la page suivante.
Valeurs de retour
Retourne une chaîne dont les caractères non alphanumé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 3986 (voir rawurlencode()) : pour des raisons historiques, les espaces sont remplacés par des signes plus (+).
Exemples
Exemple #1 Exemple avec urlencode()
<?php
echo '<a href="/manuel-php/mycgi?foo=', urlencode($userinput), '" data-lbox="1" title="Manuel PHP - ';
?>
<?php $query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar); echo '<a href="/manuel-php/mycgi?' . htmlentities($query_string) . '" data-lbox="1" title="Manuel PHP - '; ?>
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 & à 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().
Voir aussi
- urldecode() - Décode une chaîne encodée URL
- htmlentities() - Convertit tous les caractères éligibles en entités HTML
- rawurlencode() - Encode une chaîne en URL, selon la RFC 3986
- rawurldecode() - Décode une chaîne URL
- » RFC 3986