【问题标题】:Can hyphens be used in query string values?可以在查询字符串值中使用连字符吗?
【发布时间】:2015-11-27 17:01:10
【问题描述】:

我的问题与this one 有关。除了我的问题更具体,因为它是关于是否可以在查询字符串参数值中使用连字符。

我正在使用 PHP 解析 $_SERVER['QUERY_STRING']。我想知道在以下情况下在查询字符串值中使用连字符在语法上是否正确,或者是否必须在浏览器 URL 中转义连字符。下划线呢?

http://example.com/?q1=query-string-value-one&q2=query-string-value-two

根据this document,连字符在所有符合标准的浏览器中都应该没问题,但我想仔细检查一下。

谢谢。

【问题讨论】:

  • 好吧,我不只是想知道它是否有效。根据 RFC 规范,我需要知道它是否合法。
  • 可以使用hyphens。只有 a-z、A-Z、0-9、-、.、_ 和 ~ 可以可靠地用于 URL 的实际名称部分。
  • 我不认为这是重复的@HansZ。您链接到的问题是关于 url 一般中的合法字符。这个问题与查询参数 names 的解析方式有关。

标签: php http hyphen


【解决方案1】:

您说的是必须使用urlencode 函数编码的查询字符串参数:

这个函数在编码一个字符串时很方便 查询 URL 的一部分,作为将变量传递给下一个的便捷方式 页面。

根据文档- 不需要编码。

【讨论】:

    【解决方案2】:

    是的

    连字符可用于查询字符串参数名称

    【讨论】:

      猜你喜欢
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 2010-10-12
      • 2012-01-02
      • 2020-08-04
      • 2013-03-21
      相关资源
      最近更新 更多