如果 url 中的单引号,Html 按钮不起作用

Html button is not working if single quotes in url

我正在使用 perl 和 CGI​​,我正在收集数据并将其放置在 url.Like 下面

http://acv.farm.com/devpm/tiber/tiyu.cgi?sid=233&region=Asia&description=for 数据在 'bf' 和 'cx'&psite=bothwork.

在此 url 描述中,如果出现单引号,则说明我的按钮不起作用。如果我们手动删除单个代码,则按钮可以正常工作。

我把这个 url 放在一个变量中 my $durl=http://acv.farm.com/devpm/tiber/tiyu.cgi?sid=$id&region=$reg&description=$desc&psite=$pwork

我也在用 $durl =~ s/\+/\%2B/g

格式化它

然后我像这样在 href 中传递这个变量 <a href=\"$durl\">

我正在寻找处理单引号和双引号的逻辑,如果它出现在 url。

use URI qw( );

my $durl = URI->new('http://acv.farm.com/devpm/tiber/tiyu.cgi');
$durl->query_form(
   sid         => $id,
   region      => $reg,
   description => $desc,
   psite       => $pwork,
);

# Force stringification. Not needed if you're treating it as a string.
$durl = $durl->as_string;
   -or-
$durl = "$durl";