我正在用Symfony2开发一个简单的页面,使用Twig作为模板引擎。Twig:将URL传递给Twitter时分两次分享按钮
我有一个网址列表,我想为每个网址添加Twitter分享按钮。我所做的是在urls数组上进行一个简单的循环,并且dinaycally为循环中的每个Twitter按钮设置url。它看起来像枝条首先对网址进行编码,而Twitter脚本再次对其进行编码。所以Twitter的分享数量不匹配。该代码(该周期内)是下面的,有在页面结束的Twitter的代码另一部分:
<a href="https://twitter.com/share" class="twitter-share-button" data-url="{{ s.url }}">Tweet</a>
我得到的渲染页面上的网址是:http%253A%252F%252Fwww.example.com%252F
(二道编码) 代替http%3A%2F%2Fwww.example.com%2F
(一个编码通过,正确)。它看起来像%
再次编码为%25
。
这并没有使Twitter的工作,因为它认为这两个为不同的网址。
我也尝试使用一些过滤器,例如{{ s.url|raw }}
,但它没有奏效。
所以我的问题是:如何避免这种情况?有没有办法告诉树枝(或微博)不编码的网址?
什么s.url的嫩枝治疗前的价值? (来自控制器的var_dump) – AlterPHP 2012-05-02 14:12:46
来自控制器的var_dumping,它是http%3A%2F%2Fwww.example.com%2F – 2012-05-02 14:40:06
我不知道Twitter API,但可能在您的页面中包含来自Twitter的JS文件。也许这个脚本解析源代码并在每个atwitter-share-button上应用一个urlencode ......你是否尝试过将一个原始URL从控制器传递给Twig,而没有第一次传递? – AlterPHP 2012-05-02 15:57:03