urlencode в функции ветки
У меня есть этот маршрут:
_view_tag:
pattern: /topic/{tid}
defaults: {_controller: "MyCoreBundle:ViewTag:index" }
И я хочу показать URL, как это: example.com/topic/Web+development
, я использую href="topic/{{ topicname|url_encode() }}"
, Это работает, но, конечно, это не правильно, поэтому я перехожу на href="{{ path('_view_tag', {'tid': topicname|url_encode() } ) }}"
, Но это не показывает example.com/topic/Web+development
, это показывает example.com/topic/Web%2Bdevelopment
,
Я также попробую это:
{% set _tid = topicname|url_encode() %}
<a href="{{ path('_view_tag', {'tid': _tid } ) }}" ...
Но все еще не работает
У меня вопрос, как заставить это показать example.com/topic/Web+development
используя функцию пути ветки?
1 ответ
Решение
path
Функция заботится о URL-кодировании для вас. Ваша проблема в том, что ваше пространство было закодировано дважды: сначала +
, то что превратилось в %2b
, Это будет работать:
path('_view_tag', { 'tid': topicname } )