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

时间:2014-07-05 14:42:51

标签: javascript regex twitter

我使用“jquery-lifestream(https://github.com/christianv/jquery-lifestream/)”从FB和Twitter获取社交Feed。 它工作正常。

但我无法点击所有链接。

  • FB链接正常
  • twitter hashtags链接没问题
  • 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专家......

这里已经提出了问题,但答案对我没有帮助=&gt;即:regex how to replace twitter links) 还找到了这个脚本(https://github.com/twitter/twitter-text-js/blob/master/twitter-text.js),但我无法正常运行,所以我不知道它是否对我有用..

如何在不弄乱整个图片的情况下获取图片的链接? 感谢

[编辑]感谢regex101(以及他们的在线测试人员),因为我终于得到了最终的解决方案:)

    return t.replace(
        /((pic.twitter.com)\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*?$)/i,
      function( m, m1, m2 ) {
        return '<a href="http://' + m + '" target="_blank">' + m + '</a>';
      }
    );

由于

0 个答案:

没有答案