在Twitter,LinkedIn上分享链接

时间:2013-09-30 09:30:53

标签: php facebook twitter

我的页面上需要一些链接才能在Facebook,Google Plus,LinkedIn和Twitter上分享。 我的链接看起来像这样:http://www.mydomain.com/subdomain?key1=val1&key2=val2&key3=val3

在所有情况下,共享网址几乎都是这样的:http://www.mydomain.com/subdomain?key1=val1

第一个&之后的所有键和值。被删除。 示例URL生成代码

<a href="http://www.linkedin.com/shareArticle?mini=true&url=~$requestedUrl|escape:'url'`" title="Share this on Linkedin" target="_new" class="lin"></a>

这导致以下结果:

<a href="http://www.linkedin.com/shareArticle?mini=true&url=http://www.mydomain.com/subdomain?key1=val1&amp;key2=val2&amp;key3=val3" title="Share this on Linkedin" target="_new" class="lin"></a>

$requestedUrl是从我的PHP发送的,并且在Facebook,gplus,linkedin和twitter上共享仍然很常见。

1 个答案:

答案 0 :(得分:0)

快速浏览您的完整网址...

<a href="http://www.linkedin.com/shareArticle?mini=true&url=http://www.example.com/subdomain?key1=val1&amp;key2=val2&amp;key3=val3" title="Share this on Linkedin" target="_new" class="lin"></a>

因此,您 DID 逃脱了& 但是! 。您使用了HTML转义。您需要的是URL转义。它们非常非常不同。

&变成&amp;,带有HTML转义符。但是&变成具有URL编码的%26。因此,您的代码应该是...

<a href="http://www.linkedin.com/shareArticle?mini=true&url=http%3A%2F%2Fwww.example.com%2Fsubdomain%3Fkey1%3Dval1%26key2%3Dval2%26key3%3Dval3" title="Share this on Linkedin" target="_new" class="lin"></a>

例如,我想共享以下网址:http://www.revoltlib.com/?id=17。其中也包含?!这是共享URL的结果...

https://www.linkedin.com/sharing/share-offsite/?url=http%3A%2F%2Fwww.revoltlib.com%2F%3Fid%3D17

为我工作:

无论您是在定义escape:'url'还是从中获取database.echo,它似乎都是在进行完全不正确的转义。