我使用 smarty 作为模板引擎。我必须转义图像文件路径 {$filepath|urlencode},问题是空格被转换为“+”,这会阻止在服务器上访问图像:%20 可以工作,如何正确转义我自己的路 ?编辑:更准确地说,我使用 facebook 分享链接
我使用 facebook 共享,共享时不显示图像:
`<a href="facebook.com/dialog/feed?app_id={$fbappid}&link={$mainsite|escape:'url'}{$someurl|urlencode}&picture={$mainsite|escape:'url'}{$picture()|escape:"url"}&name={$somename}&description=Join%20Us%21 &redirect_uri={$mainsite|escape:'url'}{$some|urlencode}" onclick="window.open(this.href);return false;"></a>`
最终代码看起来像我的具体用法:
<a href="http://www.facebook.com/dialog/feed?app_id=...&link=http%3A%2F%2Fmysite.org%2Findex.php%3Fpage%3Dcampaign%26campaign_id%3D18&picture=http%3A%2F%2Fmysite.org%2Ffiles%2Fcampaign%2Fimage%2Foriginals%2F18%2FSans+titre-3.jpg&name=Some text "Text d'Text", Text&description=Rejoignez%20la%20campagne%21&redirect_uri=http%3A%2F%2Fmysite.org%2Findex.php%3Fpage%3Dcampaign%26campaign_id%3D18"onclick="window.open(this.href);return false;">
在同一个站点上,所有 facebook 共享链接都可以正常工作,并且图像显示良好!我认为是该特定图像的链接不起作用的原因