这将产生somethingelse@example.com具体来说,电子邮件地址中的+被替换成了空格"> 移除 "+" 字符是在 PHP 中回显 $_GET 变量时的正确做法吗?-PHP中文网问答
移除 "+" 字符是在 PHP 中回显 $_GET 变量时的正确做法吗?
P粉481815897
P粉481815897 2023-09-09 19:18:32
0
1
398

我有一个URL字符串,类似于https://example.com/path/?welcome_screen=1&email_address=something+else@example.com

在PHP中,我调用

这将产生something else@example.com

具体来说,电子邮件地址中的+被替换成了空格。

  1. 这是预期的吗?
  2. 如果是,是否有办法在上述的echo代码中防止这种情况发生?
  3. 还是应该在收集电子邮件地址时进行处理?

P粉481815897
P粉481815897

全部回复 (1)
P粉032900484
  1. 是的,+是在URL中表示空格的一种方式。PHP在创建$_GET数据时会自动对值进行URL解码,并将其转换为空格,因为它假设这就是原始URL中的值应该表示的内容。

  2. 不,那时已经太晚了。

  3. 是的,您应该在将值包含在URL中之前进行URL编码,以便+不被视为特殊字符。如果是PHP生成URL,您可以使用urlencode()函数。大多数其他编程语言都有等效的内置函数。

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!