如何使用Zend Framework重新编码url参数

时间:2010-01-18 10:41:16

标签: php zend-framework zend-view zend-controller

我在Zend Framework应用程序中使用以下代码:

控制器:

$paramsOtherAction = $this->getRequest()->getParams();
$paramsOtherAction['action'] = 'otheraction'
$this->view->paramsOtherAction = $paramsOtherAction;

视图:

<a href="<?php echo $this->url($this->paramsOtherAction)?>"> Do other action with same params </a>

这种方法很好,除非参数中有任何需要转义(编码)的字符,比如url。我怎样才能以最佳方式编码这个参数数组?

编辑:

我实际上搜索的是将a参数传递给url函数的可能性,该函数确保我的url参数被编码(为什么不是那样的标准?)。

2 个答案:

答案 0 :(得分:2)

使用urlencode功能:

foreach ( $paramsOtherAction as $key => $value )
{
    $paramsOtherAction[$key] = urlencode ( $value );
}

答案 1 :(得分:2)

转义参数的一种方法是使用array_map和urlencode:

$paramsOtherAction = array_map('urlencode', $paramsOtherAction);