【问题标题】:PHP - $_SERVER['QUERY_STRING'] has "&"PHP - $_SERVER['QUERY_STRING'] 有“&”
【发布时间】:2015-12-04 17:31:30
【问题描述】:

在我的 php 脚本中,我试图获取查询字符串 ($_SERVER['QUERY_STRING']),将其附加到另一个 url,然后进行重定向。

如果我使用查询字符串不做任何处理,新的 url 显示“&”对于所有的“&”。因此新的 url 不起作用。

我打印出 $_SERVER['QUERY_STRING'] 并查看页面源代码。它确实使用“&”对于所有的“&”。这对我来说没有意义,我想知道为什么。只是我的服务器配置还是 PHP 的默认配置?

更新:我使用 sn-p 在 MODX CMS 上对其进行了测试。如果在常规 PHP 脚本上运行,则不存在此类问题。我想问题出在MODX上。有什么想法吗?

【问题讨论】:

  • urlencode / urldecode
  • &是html实体。
  • 如果 modx 是导致问题的原因,为什么不自己生成查询字符串呢?试试echo http_build_query($_GET) 看看它是否产生相同的结果。
  • 实现我想要的东西很简单,但我很好奇是什么原因造成的。

标签: php modx


【解决方案1】:

只是一个想法: 如果您使用 TinyMCE 编辑内容,它会将所有 &'s 更改为 &'s - 这让我发疯了很多次。这发生在 sn-p 调用中,如果您停用资源的富文本编辑器或“快速编辑”资源,则可以对其进行调试。

也是一个很好的做法:将 sn-p 调用放入 。您可以调用该块而不用冒险 sn-p 调用的语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 2011-09-22
    相关资源
    最近更新 更多