2014-06-21 294 views
0

出於某種原因,我似乎無法讓我的功能將所有網址轉換爲bit.ly。請保留它,以便它仍然可以將網址轉換爲超鏈接。謝謝,請幫助!將網址轉換爲bit.ly

function get_short_url(long_url, login, api_key, func) 
{ 
    $.getJSON(
     "http://api.bitly.com/v3/shorten?callback=?", 
     { 
      "format": "json", 
      "apiKey": api_key, 
      "login": login, 
      "longUrl": long_url 
     }, 
     function(response) 
     { 
      func(response.data.url); 
     } 
    ); 
} 

var login = "[mylogin]"; 
var api_key = "[my api]"; 
var long_url = text; 

get_short_url(long_url, login, api_key, function(short_url) { 
    console.log(short_url); 
}); 

    urlify = function (text) { 
    var urlRegex = /(https?:\/\/[^\s]+)/g; 
    return text.replace(urlRegex, function(short_url) { 
     return '<a href="' + short_url + '" target="_blank">' + short_url + '</a>'; 
    }) 
    // or alternatively 
    // return text.replace(urlRegex, '<a href="$1">$1</a>') 
    } 
+0

你urlify功能是從來沒有實際使用,你只是記錄短網址到控制檯。請解釋你期望發生什麼以及實際發生了什麼,並且只包括問題中的相關代碼。 – IMSoP

+0

如何使用$ .ajax到服務器端?你是API密鑰,登錄是公開可見的。 – hutchbat

回答

1

下面是一個例子,如何獲得與Bitly API和jQuery縮短的URL:

> function get_short_url(long_url, login, api_key, func) { 
>  $.getJSON(
>   "http://api.bitly.com/v3/shorten?callback=?", 
>   { 
>    "format": "json", 
>    "apiKey": api_key, 
>    "login": login, 
>    "longUrl": long_url 
>   }, 
>   function(response) 
>   { 
>    func(response.data.url); 
>   } 
> ); } 

下面的代碼可以用來獲得短網址:

/*在sign_up註冊Bitly帳號

完成後訪問your_api_key /獲取 「login」和「api_key」值 */var login =「LOGIN_HERE」; var api_key =「API_KEY_HERE」; var long_url =「url」; (long_url,login,api_key,function(short_url){ console.log(short_url);});}}};}};}};

其他信息:http://www.cinetwit.com/converting-url-to-bit-ly-format

0
function make_bitly_url($url,$format = 'xml',$version = '2.0.1') 
    { 

     $login="urlogin"; 
     $appkey="ur_api_key"; 

     $bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format; 
      $response = file_get_contents($bitly); 

      $xml = simplexml_load_string($response); 

     return $response; 

    }