【问题标题】:Removing the "%" encoding in URL string删除 URL 字符串中的“%”编码
【发布时间】:2010-12-12 04:36:02
【问题描述】:

我正在尝试使用window.open 打开一个页面,但它不起作用。显示的路径类似于xyz/a%20b%20c%20.pdf,但它应该是xyz/abc.pdf。如果我手动删除%20,它可以工作,如何使用PHP 删除这些字符?

【问题讨论】:

  • 为什么要删除它?正确的 URI 字符实体编码使您的 URI 有效,否则它可能无效并且肯定不太稳定。

标签: php url decoding


【解决方案1】:

使用urldecode:

(PHP 4,PHP 5) urldecode — 解码 URL 编码的字符串

说明

字符串 urldecode (string $str) 解码给定字符串中的任何 %## 编码。加号 ('+') 被解码为空格字符。

示例

echo urldecode('xyz/a%20b%20c%20.pdf');

【讨论】:

    【解决方案2】:

    这称为 URL 编码。您需要解码字符串。如果您使用的是 jQuery,您应该查看 URL Encode 插件。

    【讨论】:

      【解决方案3】:

      您需要进行 urldecode(如上所述)。

      但是,您说可以删除 %20 并且它会起作用。我会说你需要它们,它们会解码为空格。使用这个在线 url 解码器检查一下:

      http://www.convertstring.com/EncodeDecode/UrlDecode

      它解码为:

      xyz/a b c .pdf

      不是

      xyz/abc.pdf

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-16
        • 2012-02-14
        • 2014-03-02
        • 1970-01-01
        • 2014-08-26
        • 2014-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多