Javascript 如何从twitter提要中提取所有链接?

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

我使用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.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位数字的链接。。。