精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● CGI>>编程技巧>>Re:&和=的分解

主题:Re:&和=的分解
发信人: zhcharles(小传 -> 心碎了无痕)
整理人: workingnow(2002-09-30 11:47:46), 站内信件
【 在 garfieldmao 的大作中提到:】
:Perl中分解QueryString时是按照&和=两个char分解的,如果
:QueryString="http://www.ok.com/cgi-bin/a.cgi?name=maozai&win"
:就是说,name为一个参数,值为maozai&win,但是perl会把后面的win当作key,但是我看网易的不会这样子。
:怎么解决这个问题?(在不限制用户输入的情况下)
:......
 

可用 Javascript 和 perl 来实现!

以下是 javascript:
<script language=javascript>
var url = 'http://www.ok.com/cgi-bin/a.cgi?' + escape('name=maozai&win');
document.write(url);
</script>


以下是用 perl 实现:
my url = 'http://www.ok.com/cgi-bin/a.cgi?' . escape('name=maozai&win');

sub escape {
    my $toencode = shift;
    return undef unless defined($toencode);
    $toencode =~ s/([^a-zA-Z0-9_.-])/uc sprintf("%%%02x",ord($1))/eg;
    return $toencode;
}

结果为:
http://www.ok.com/cgi-bin/a.cgi?name%3Dmaozai%26amp%3Bwin 





----
█████████  
█┌─────┐█  
█│zhcharles │█  
█│  CGI 版  │█  
█│ 版 ★ 斧 │█   
█│  专用章  │█   
█└─────┘█   
█████████ 
 
    
答之意,乃解问者之困也! 
   
我无意将答案写得如何如何动听,只求能真正地解决您的问题! 
   
小传 ( Charles Feng ) [email protected]   OICQ:17866295 
  

[关闭][返回]