Я разрабатываю простую страницу с Symfony2, используя Twig в качестве механизма шаблонов.
У меня есть список URL-адресов, и я хотел бы добавить кнопку «Поделиться в Твиттере» для каждого URL-адреса. Что я делаю, так это простой цикл в массиве URL-адресов, и динамически устанавливаю URL-адрес для каждой кнопки Twitter внутри цикла. Похоже, что эта ветка сначала кодирует URL-адрес, а скрипт Twitter кодирует его снова. Таким образом, количество репостов в Твиттере не совпадает. Код (внутри цикла) следующий, в конце страницы есть еще часть кода Twitter:
<a href="https://twitter.com/share" class="twitter-share-button" data-url="{{ s.url }}">Tweet</a>
URL-адрес, который я получаю на отображаемой странице: http%253A%252F%252Fwww.example.com%252F
(два прохода кодирования) вместо http%3A%2F%2Fwww.example.com%2F
(один проход кодирования, правильно). Похоже, что %
снова закодировано в %25
.
И это не заставляет Twitter работать, потому что он считает эти два URL-адреса разными.
Я также пытался использовать некоторые фильтры, например. {{ s.url|raw }}
, но это не сработало.
Итак, мой вопрос: как этого избежать? Есть ли способ сказать ветке (или твиттеру), чтобы не кодировать URL-адрес?