1

次のスクリプトをまとめることができました。

<?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
?>

これで、このコードは、渡されたものの短い URL を生成できます。私のサイトには、twitter 開発者サイトから取得したツイート ボタンがあります。現在表示されているページの完全なリンクを投稿するという点で機能します...短縮版ではありません。今、私は自分のサイトのアカウントで共有できるように、その Twitter ボタンが押されたときに短い URL を生成したいと考えています。それはどのように行われますか?

ありがとうございました、

4

1 に答える 1

3

data-urlオプションをbitly urlに設定するだけでよいはずです。例えば

<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>
于 2012-09-05T15:41:32.263 に答える