【问题标题】:Convert url to bit.ly将 url 转换为 bit.ly
【发布时间】:2026-01-09 14:45:02
【问题描述】:

由于某种原因,我似乎无法获得将所有 url 转换为 bit.ly 的函数。请保留它,以便它仍将 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);
        }
    );
}

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>')
  }

【问题讨论】:

  • 您的 urlify 函数从未实际使用过,您只是将短 URL 记录到控制台。请说明您预计会发生什么以及实际会发生什么,并在问题中仅包含相关代码。
  • 在服务器端使用 $.ajax 怎么样?你的 api 密钥和登录是公开可见的。

标签: javascript bit.ly


【解决方案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/ 获取 “登录”和“api_key”值 */ var login = "LOGIN_HERE"; var api_key = "API_KEY_HERE"; var long_url = "url";

get_short_url(long_url, login, api_key, function(short_url) { 控制台.log(short_url); });

补充资料:http://www.cinetwit.com/converting-url-to-bit-ly-format

【讨论】:

    【解决方案2】:
    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;
    
        }       
    

    【讨论】: