Javascript 如何从twitter提要中提取所有链接?
我使用jquerylifestream从FB和twitter获取社交提要。 它很好用 但我不能让所有的链接都可以点击 FB链接正常 twitter标签链接可以 twitter@links还可以 但不是图片的链接。。。 代码如下:Javascript 如何从twitter提要中提取所有链接?,javascript,regex,twitter,Javascript,Regex,Twitter,我使用jquerylifestream从FB和twitter获取社交提要。 它很好用 但我不能让所有的链接都可以点击 FB链接正常 twitter标签链接可以 twitter@links还可以 但不是图片的链接。。。 代码如下: var linkify = function( tweet ) { var link = function( t ) { //Add link to all http:// links within tweets return t.rep
var linkify = function( tweet ) {
var link = function( t ) {
//Add link to all http:// links within tweets
return t.replace(
/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,
function( m ) {
return '<a href="' + m + '" target="_blank">' +
( ( m.length > 25 ) ? m.substr( 0, 24 ) + '...' : m ) +
'</a>';
}
);
},
at = function( t ) {
return t.replace(
/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g,
function( m, m1, m2 ) {
return m1 + '<a href="http://twitter.com/' + m2 + '" target="_blank">@' +
m2 + '</a>';
}
);
},
pc = function( t ) {
return t.replace(
/* WHAT DO I PUT HERE ? */
function( m ) {
return '<a href="http://pic.twitter.com/' + m + '" target="_blank">' + m + '</a>';
}
);
},
hash = function( t ) {
return t.replace(
/\B#([_a-z0-9ÅåÄäÖöØøÆæÉéÈèÜüÊêÛûÎî_]+)/ig, function(reply) {
return '<a href="https://twitter.com/search?q='+encodeURI(reply.substring(1))+'" target="_blank">'+reply.charAt(0)+reply.substring(1)+'</a>';
}
);
};
return hash(pc(at(link(tweet))));
}
我尝试了几个regexp,但没有一个能胜任,因为我不是js专家
这里有人问了问题,但答案对我没有帮助=>ie:
我也找到了这个脚本,但我无法正常运行,所以我不知道它是否适合我
我怎样才能在不把事情搞砸的情况下获得这些图片的链接?
谢谢
[编辑]多亏了regex101和他们的在线测试人员,我终于找到了最终的解决方案:
return t.replace(
/((pic.twitter.com)\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*?$)/i,
function( m, m1, m2 ) {
return '<a href="http://' + m + '" target="_blank">' + m + '</a>';
}
);
谢谢您能为提要提供一个示例吗?您的意思是,twitter API返回的json?当我使用someonelse的脚本时,我假设它是这样的:这就是我以前寻找答案的地方。它有帮助吗?到目前为止,我设法编写了这个部分,并在这里测试它->return t.replace/pic.twitter.com\/[-A-Z0-9+&@\/%?=~|!:,.;]*?$/I,函数m{return'+m+'target=\u blank>'+m+};捕获组似乎很好,但我有一个没有斜杠尾随10位数字的链接。。。