Comprendre l'urlencode et le rawurlencode : lequel préférer ?
Lors de l'encodage de chaînes pour créer des URL, PHP propose deux options : urlencode() et rawurlencode (). Chaque méthode gère le codage des caractères différemment.
rawurlencode adhère à la RFC 1738 (avant PHP 5.3.0) et à la RFC 3986 (après). Il code les caractères non alphanumériques (%-escape), à l'exception de -_.~. Ceci est principalement destiné à empêcher les caractères littéraux d'être mal interprétés comme délimiteurs d'URL.
En revanche, urlencode encode les espaces sous forme de signes plus, en suivant le type de média application/x-www-form-urlencoded . Ceci est couramment utilisé pour encoder les soumissions de données de formulaire.
Choisir la bonne option
La sélection entre urlencode() et rawurlencode() dépend de vos besoins.
Autres considérations
Le Le caractère tilde (~) a été codé par rawurlencode selon la RFC 1738 avant PHP 5.3, mais n'est plus codé selon la RFC 3986.
La RFC 2396 décrit la syntaxe URI valide, où des caractères comme , & et $ sont compris dans les composants de requête sont réservés et doivent être codés. rawurlencode s'aligne sur cette spécification.
En fin de compte, le choix entre urlencode() et rawurlencode dépend de l'objectif et des besoins spécifiques de votre application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!