2014-06-21 247 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; 

    }