我用urlencode对URL进行了编码,可是解码后&符号仍然是 &没办法,我就用
str_replace将字符替换,在IE下可以
可是在firefox下就是不行
打印出来后的字符(浏览器中),copy后可以在firefox中运行,但是直接用字符串就不行
str_replace将字符替换,在IE下可以
可是在firefox下就是不行
打印出来后的字符(浏览器中),copy后可以在firefox中运行,但是直接用字符串就不行
无语的提问方式...
是这样的,我们有一个URL连接,URL后面的参数有一个是外网连接,既然是连接,肯定就带有&符号,那么
我们要通过$_GET来获取URL参数,就会出现问题,就是把外网的URL的参数当成一个参数了,比如
www.sohu.com?ref_url=http://www.163.com?r=12&n=13
我要获取ref_url,就会得到=http://www.163.com?r=12,后面的n=13得不到,因此呢,我就想进行转义
利用urlencode,
在获取的时候呢,用urldecode再取出来,可是,我发现这样做不行,我发现urlencode转义字符串之后,&就变成了
&这样呢,我就想到了用str_replace(“&”,"&", $str);
这样不就OK吗?
结果也不错,在IE下就OK,但firefox就不行,
但在FIREFOX里,我echo $str,显示的串中"&"确实是变成了&,然后我copy打印出来的这字符串,就可以访问到外连接网页。
不过用字符串直接就不行。window.location=$str(当然,在PHP中echo javascript串)
这样OK?