我正在使用以下网址
http://example.com/walkthrough?hostid=abcd&inspectoremail=abc+@gmail.com
我在这样的变量中得到了inspectoremail。
$inspectoremail = $_GET['inspectoremail'];
但当我回复$ inspectoremail时,它正在取代' +'空白符号。
abc @gmail.com
那么我如何获得在url中指定的inspectoremail。 任何帮助深表感谢。感谢
答案 0 :(得分:2)
当你在URL中传递特殊字符时,你应该对它们进行编码(在php中使用urlencode
)。
在您的示例中 - 加号(+
)字符被翻译为%2B
,因此您应该使用:
http://example.com/walkthrough?hostid=abcd&inspectoremail=abc%2B@gmail.com
如果您尝试对空格字符{进行编码,您将看到此字符将转换为
+
,因此当服务器解码字符串时,abc+@gmail.com
的值将是abc @gmail.com
(这就是你得到的)。