0

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 のように、エスケープ (エンコード) する必要がある文字がパラメーターに含まれている場合を除いて、これは正常に機能します。このパラメーターの配列を最適な方法でエンコードするにはどうすればよいですか?

編集:

私が実際に探しているのは、パラメーターを url 関数に渡して、URL パラメーターがエンコードされていることを確認する可能性です (とにかく標準で行われないのはなぜですか?)。

4

2 に答える 2

2

urlencode関数を使用します。

foreach ( $paramsOtherAction as $key => $value )
{
    $paramsOtherAction[$key] = urlencode ( $value );
}
于 2010-01-18T10:57:47.243 に答える
2

パラメータをエスケープする 1 つの方法は、array_map と urlencode を使用することです。

$paramsOtherAction = array_map('urlencode', $paramsOtherAction);
于 2010-01-18T11:31:58.440 に答える