Drupal url编码

sis*_*sko 6 drupal urlencode drupal-6

我无法正确编码URL数据.使用以下代码:

$redirect = drupal_urlencode("user/register?destination=/node/1");
drupal_goto( $redirect );
Run Code Online (Sandbox Code Playgroud)

但是,我的浏览器测试中出现的URL如下:

http://testsite.com/user/register%253Fdestination%253D/node/1
Run Code Online (Sandbox Code Playgroud)

我以为使用drupal_urlencode函数应该解决这个编码问题.有人可以建议一种方法来解决这个问题吗?

Cli*_*ive 3

url()如果您传递一个数组作为参数,query它会为您处理 URL 编码,那么您最好使用内置函数来创建 URL:

$options = array(
  'absolute' => TRUE,
  'query' => array('destination' => '/node/1')
);
$redirect = url('user/register', $options);

drupal_goto( $redirect );
Run Code Online (Sandbox Code Playgroud)

drupal_encode()将对您传递给它的整个字符串进行编码,因此如果您想按照原来的方式进行操作,它将如下所示:

$redirect = 'user/register?' . drupal_urlencode("destination=/node/1");
drupal_goto( $redirect );     
Run Code Online (Sandbox Code Playgroud)