代码之家  ›  专栏  ›  技术社区  ›  Peter Smit

如何用Zend框架重新编码URL参数

  •  0
  • Peter Smit  · 技术社区  · 15 年前

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

    控制器:

    $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 回复  |  直到 15 年前
        1
  •  2
  •   Jan Hančič    15 年前

    使用 urlencode 功能:

    foreach ( $paramsOtherAction as $key => $value )
    {
        $paramsOtherAction[$key] = urlencode ( $value );
    }
    
        2
  •  2
  •   Peter Smit    15 年前

    转义参数的一种方法是使用数组映射和urlencode:

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