и персонаж в URL-адресе Facebook Shareer

У моего сайта такие URL-адреса, как

$shareurl = http://www.mysite.com/?view=main&title=here-is-some-title  

Итак, если я помещу этот URL-адрес в facebook, и ссылки на Twitter появятся, как показано ниже

ссылка для публикации в Facebook:

<a target="_blank" href="https://www.facebook.com/dialog/feed?app_id=MY_APP_ID&link=<?php echo $shareurl;?>&picture=Picture.jpg&name=this is name&caption=this is caption&description=this is despcription.&redirect_uri=<?php echo APP_BASE_URL; ?>""> Share on Facebook </a>

Символ & на $sharerurl разбивает URL-адрес пользователя facebook. В Твиттере такая же ситуация.
Как я могу избежать этого состояния самым простым способом?


person mcan    schedule 20.09.2012    source источник


Ответы (2)


Если вы используете этот код, все должно быть в порядке:

<a target="_blank" href="https://www.facebook.com/dialog/feed?app_id=MY_APP_ID&link=<?php echo urlencode($shareurl);?>&picture=Picture.jpg&name=this is name&caption=this is caption&description=this is despcription.&redirect_uri=<?php echo APP_BASE_URL; ?>""> Share on Facebook </a>

Он превращает & в URL-адресе в %26, которые Facebook и Twitter будут читать без проблем, не думая, что части URL-адреса на самом деле являются частями их URL-адреса.

person thewebguy    schedule 20.09.2012

Вы можете закодировать URL-адрес с помощью urlencode(), а затем использовать urldecode() в своем приложении, чтобы вернуть правильный URL-адрес.

person E-Rock    schedule 20.09.2012