1

我有一个博主脚本,可以从一个帐户中提取最新的三篇推特帖子,我是否对其进行了调整以在帖子底部添加一个图像分隔符,但不想在最后一篇帖子的底部看到分隔符。我坚持使用语法来计算前两个,然后在第三个中排除图像(或重写没有图像的行)。

这是代码块:

function twitterCallback2(twitters) 
{
    var statusHTML = [];
    for (var i=0; i<twitters.length; i++)
    {
        var username = twitters[i].user.screen_name;
        var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) 
        {
            return '<a href="'+url+'" target="_blank">'+url+'</a>';
        }).replace(/\B@([_a-z0-9]+)/ig, function(reply) 
        {
            return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
        });

        statusHTML.push('<li><span>'+status+'</span> <a class="date" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank"><br /><p style="text-align:left; margin-top:4px;"><img src="../images/news/twitter-bird.png" style="margin:3px 2px 0 0;">'+relative_time(twitters[i].created_at)+'</a></p><img src="../images/news/twitter-divider.png" style="margin-top:4px;"></li>');
    }
    document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}

任何帮助将不胜感激。

4

1 回答 1

2

未经测试,但这应该有效:

function twitterCallback2(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'" target="_blank">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    var htmlToPush = '<li><span>'+status+'</span> <a class="date" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'" target="_blank"><br /><p style="text-align:left; margin-top:4px;"><img src="../images/news/twitter-bird.png" style="margin:3px 2px 0 0;">'+relative_time(twitters[i].created_at)+'</a></p>';
    if (i<twitters.length-1)
        htmlToPush += '<img src="../images/news/twitter-divider.png" style="margin-top:4px;">';
    htmlToPush += '</li>';
    statusHTML.push(htmlToPush);
  }
  document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}
于 2013-04-22T22:59:10.093 回答