【发布时间】:2010-12-12 04:36:02
【问题描述】:
我正在尝试使用window.open 打开一个页面,但它不起作用。显示的路径类似于xyz/a%20b%20c%20.pdf,但它应该是xyz/abc.pdf。如果我手动删除% 和20,它可以工作,如何使用PHP 删除这些字符?
【问题讨论】:
-
为什么要删除它?正确的 URI 字符实体编码使您的 URI 有效,否则它可能无效并且肯定不太稳定。
我正在尝试使用window.open 打开一个页面,但它不起作用。显示的路径类似于xyz/a%20b%20c%20.pdf,但它应该是xyz/abc.pdf。如果我手动删除% 和20,它可以工作,如何使用PHP 删除这些字符?
【问题讨论】:
使用urldecode:
(PHP 4,PHP 5) urldecode — 解码 URL 编码的字符串
说明
字符串 urldecode (
string $str) 解码给定字符串中的任何 %## 编码。加号 ('+') 被解码为空格字符。
echo urldecode('xyz/a%20b%20c%20.pdf');
【讨论】:
这称为 URL 编码。您需要解码字符串。如果您使用的是 jQuery,您应该查看 URL Encode 插件。
【讨论】:
您需要进行 urldecode(如上所述)。
但是,您说可以删除 %20 并且它会起作用。我会说你需要它们,它们会解码为空格。使用这个在线 url 解码器检查一下:
http://www.convertstring.com/EncodeDecode/UrlDecode
它解码为:
xyz/a b c .pdf
不是
xyz/abc.pdf
【讨论】: