2012-09-05 279 views
1

我已經成功地整理出以下腳本嘰嘰喳喳:PHP張貼在bitly URL格式

<?php 

/* make a URL small */ 
function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1') 
{ 
    //create the URL 
    $bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format; 

    //get the url 
    //could also use cURL here 
    $response = file_get_contents($bitly); 

    //parse depending on desired format 
    if(strtolower($format) == 'json') 
    { 
     $json = @json_decode($response,true); 
     return $json['results'][$url]['shortUrl']; 
    } 
    else //xml 
    { 
     $xml = simplexml_load_string($response); 
     return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash; 
    } 
} 


//function to get the url of the event! 
function curPageURL() { 
$pageURL = 'http'; 
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
$pageURL .= "://"; 
if ($_SERVER["SERVER_PORT"] != "80") { 
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
} else { 
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
} 
return $pageURL; 
} 

/* usage */ 
$short = make_bitly_url('http://site.com/viewEvent.php?id=2323232','bitlyuser','bitlyapikey','json'); 
echo 'The short URL is: '.$short . "<br>"; 
echo "PATH: ". curPageURL(); 
// returns: http://bit.ly/11Owun 
?> 

現在,這個代碼可以生成任何傳遞給它的短網址。我在我的網站上有一個鳴叫按鈕,我從twitter developer site得到。它的工作原理在於它發佈了它當前所在頁面的完全鏈接......所以不是縮短的版本。現在我想要按下該按鈕時,它會生成一個簡短的網址,以便我可以在我的網站帳戶上分享。這是如何完成的?

謝謝

回答

3

你應該能夠只需設置data-url選項將bitly網址。例如

<a href="https://twitter.com/share" class="twitter-share-button" data-url="<?php echo make_bitly_url('http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"],LOGIN,APPKEY); ?>">Tweet</a>