小枝フィルター url_encode で url パラメーターをエンコードしました。
// app.request.query.get("date") output 01/04/2016
href="{{ path('page', {date: app.request.query.get("date")|url_encode}) }}">
URLに出力する
date=01%252F04%252F2016
したがって、URLパラメーターを含む要求されたページで
{{ app.request.query.get("date") }}
01%2F04%2F2016 と表示されますが、01/04/2016 が必要です
生フィルターを使用してみましたが、小枝拡張も行いました:
<?php
namespace SE\AppBundle\Twig;
class htmlEntityDecodeExtension extends \Twig_Extension
{
public function getFilters()
{
return array(
new \Twig_SimpleFilter('html_entity_decode', array($this, 'htmlEntityDecode'))
);
}
public function htmlEntityDecode($html)
{
$html = html_entity_decode($html);
return $html;
}
public function getName()
{
return 'html_entity_decode_extension';
}
}
しかし、これでも 01%2F04%2F2016 を表示し続けます
コントローラーメソッドで同じ結果が得られます:
echo html_entity_decode($request->query->get('date'));
これを行う適切な方法は何ですか?
アップデート :
日付は「テキスト」タイプの入力からのものです。いいえ、これは数字と / を含む単純な文字列です。