J'ai une chaîne d'URL similaire à https://example.com/path/?welcome_screen=1&email_address=something+else@example.com
En PHP, j'appelle <?php echo $_GET['email_address']; ?>
Cela produira something else@example.com
Plus précisément, le + dans l'adresse email a été remplacé par un espace.
echo
code ci-dessus ?
Oui,
+
是在URL中表示空格的一种方式。PHP在创建$_GET
data décode automatiquement la valeur par URL et la convertit en espaces, car elle suppose que c'est ce que la valeur dans l'URL d'origine est censée représenter.Non, il était alors trop tard.
Oui, vous devez encoder l'URL avant d'inclure la valeur dans l'URL de la fonction
+
不被视为特殊字符。如果是PHP生成URL,您可以使用urlencode()
. La plupart des autres langages de programmation ont des fonctions intégrées équivalentes.