2016-12-28 25 views
-3

我已经在一些JavaScript API的最近挖,我发现下面一行:解码以下链接

get_url_info: function($db_link) { 
    var ldst_href; 
    if ($db_link.data('ldst-href')) { 
     ldst_href = $db_link.data('ldst-href'); 
    } 
    else { 
     ldst_href = $db_link.attr('href'); 
    } 
    var matchs = ldst_href.match(/^http:\/\/([^\.]+)\..*playguide\/db\/(.*?)\/?(#.+)?$/); 
    var subdomain = matchs[1]; 
    var path = matchs[2]; 
    if (!eorzeadb.dynamic_tooltip && eorzeadb.versions.data) { 
     url = eorzeadb.cdn_prefix + 'pc/tooltip/' + eorzeadb.versions.data + 
       '/' + subdomain + '/' + path + '.js'; 
    } 
    else { 
     url = ldst_href + '/jsonp/'; 
    } 
    return { 
     'url': url, 
     'data_key': subdomain + '/' + path 
    }; 
}, 

这个结果应该返回我假设包含在链接的数组。我很难解密链接tho。 有没有人有这些链接或我可以开始的方式的任何经验?

+0

这是一个正则表达式,不是“链接”(也不是URI) –

+3

什么是ldst_href? –

+0

你想做什么很不清楚。 “解密链接”是什么意思?如果您只想知道生成的数组包含什么,请执行'console.log(match)'并查看控制台。 – JJJ

回答

0

http://regexr.com/ 在这里你可以理解正则表达式的所有部分。基本上,是在寻找这样的图案:

http://(blablah).playguide/db/(OPTIONAL)(optional/)#(probably some id) 

结果将是与原始链路数组,其次是结构域,所述第一可选的参数,和主题标签,像这样

["http://(blablah).playguide/db/(OPTIONAL)(optional/)#(probably some id)", "(blablah)", "(OPTIONAL)(optional/)", "#(probably some id)"] 

然后它将使用该信息建立不同的链接