Facebooks sharer.php only takes a url and a page-title as arguments for the shared links. The title parameter is only used when facebooks bot isn't able to figure out a page-title. We at restorm.com had the need to be able to set the title, image and description for shared links on facebook to sensible defaults which may even differ from the actual title of the page. Other people asked about this feature in facebook devekopment forums. So I made this little service.
http://fb-share-control.com/?u=[URL]&t=[TITLE]&i=[IMG]&d=[DESCDRIPTION]
Note that you have to escape the variables in the url with Javascripts encodeURIComponent or something similar. For example the 'share this page on facebook' link on the index page is such a link.
Or you can just use the facebook sharer code, beef it up with the additional parameter and point it to this page instead:
<script type="text/javascript">
//<![CDATA[
function fbs_click(){
u=encodeURIComponent([URL]);
t=encodeURIComponent([TITLE]);
i=encodeURIComponent([IMG]);
d=encodeURIComponent([DESCRIPTION]);
window.open(
'http://fb-share-control.com?u='+u+'&t='+t+'&i='+i+'&d='+d,
'sharer','toolbar=0,status=0,width=800,height=600');
return false;
}
//]]>
</script>
<a href="http://www.facebook.com/share.php?u=[URL]"
onclick="return fbs_click()"
target="_blank"
class="fb_share_link"
style="padding:2px 0 0 20px; height:16px; background:url(http://static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">
Share on Facebook
</a>
Or you can use a form with hidden fields and method GET (so the submit button gets the share-link). In this case you don't have to escape. Seems easiest to me.
<form action='http://fb-share-control.com' method = 'get'>
<input type='hidden' name='u' value=[URL] />
<input type='hidden' name='t' value=[TITLE] />
<input type='hidden' name='i' value=[IMAGE] />
<input type='hidden' name='d' value=[DESCDRIPTION] />
<input type='submit' name='share' value='share this page on facebook' />
</form>
Have fun!