我用urlencode对URL进行了编码,可是解码后&符号仍然是 &没办法,我就用
    str_replace将字符替换,在IE下可以
    可是在firefox下就是不行
    打印出来后的字符(浏览器中),copy后可以在firefox中运行,但是直接用字符串就不行

解决方案 »

  1.   

    没有明白你是如何测试的.问题问得不明不白.编码后,什么&仍然是&? 你在哪里查看的? 怎么替换?在哪里替换?在哪里COPY? COPY后你在FF中如何运行的?......
    无语的提问方式...
      

  2.   

        当时忙的很哪,我也觉得提问有些问题,不过呢,问题基本上说已经是解决了!但解决得我认为有问题!
         是这样的,我们有一个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,显示的串中"&amp"确实是变成了&,然后我copy打印出来的这字符串,就可以访问到外连接网页。
         不过用字符串直接就不行。window.location=$str(当然,在PHP中echo javascript串)
         
        这样OK?
      

  3.   

    www.sohu.com?ref_url=http://www.163.com?r=12%26n=13