【问题标题】:Filter out @replies in a Twitter feed?过滤掉 Twitter 提要中的@replies?
【发布时间】:2010-10-11 19:27:30
【问题描述】:

我的网站顶部有来自我的 Twitter 个人资料的提要,但我想知道是否有办法过滤掉我的 @replies 并只显示我的状态更新?

谢谢

【问题讨论】:

  • 是的,事实上很容易。但如果你这样做,Twitter 会生气。我们需要将你献给伟大的 Twitter 鸟,以免我们都感受到他可怕的愤怒。

标签: html twitter


【解决方案1】:

【讨论】:

【解决方案2】:

如果您正在为 Blogger 和类似网站使用标准 Twitter 提要网络代码,那么这段 Javascript 就可以解决问题。它位于 Twitter 提要和回调之间,并从服务器响应中删除回复。

对于博客徽章,标准 Twitter 网络代码以两个 <script> 标记结尾。第一个提供显示推文的功能。第二个查询 twitter 以显示要显示的推文。

在 twitter 查询之前将此脚本添加到您的徽章代码中。它提供了一个名为 filterCallback 的新函数,该函数从 Twitter 响应中删除 @replies。

<script type="text/javascript">
  function filterCallback( twitter_json ) {
    var result = [];
    for(var index in twitter_json) {
      if(twitter_json[index].in_reply_to_user_id == null) {
        result[result.length] = twitter_json[index];
      }
      if( result.length==5 ) break; // Edit this to change the maximum tweets shown
    }
    twitterCallback2(result); // Pass tweets onto the original callback. Don't change it!
  }
  </script>

twitter 查询本身有一个参数,用于指定响应返回时要调用的函数。在博主的案例中,该函数称为“twitterCallback2”——您可以在网络代码中搜索它(查找callback=twitterCallback2)。要使用新过滤器,您需要将文本 twittercallback2 替换为 filterCallback。过滤器经过硬编码,完成后调用twitterCallback2

请注意,如果来自 Twitter 的某些回复是回复,这将减少显示的推文数量,因此您必须增加调用中的 count 参数以允许这样做。然后,新功能将显示的回复数量限制为五个 - 编辑代码以更改它。

这是我的博客文章:Filter Replies out of Twitter Feed

【讨论】:

  • 如何在没有 @reply 的情况下获取前两条推文?
【解决方案3】:

如果您想使用新的 Twitter 小部件,只需在小部件源代码的 features: 设置中添加这段代码:

filters: {
  negatives: /\B@\w{1,20}(\s+|$)/
},

我从达斯汀迪亚兹的网站http://www.dustindiaz.com 上拿了这个。 Dustin Diaz 是 Twitter 小部件的创建者。

【讨论】:

    【解决方案4】:

    将 setUser 调用更改为

    setUser('name&exclude_replies=true');
    

    这是一种黑客攻击,但它可以解决问题

    【讨论】:

      【解决方案5】:

      取决于您用于显示条目的内容。如果您使用的是 Twitter 的小部件,那么可能不会。如果您使用其他一些编程方式来显示项目,您需要提供有关您正在执行的操作(语言、示例代码等)的更多详细信息,我们可能会帮助您进行过滤。

      【讨论】:

        【解决方案6】:

        您可能想要使用正则表达式。大致如下:

        [a-zA-Z0-9][a-zA-Z0-9]*: @[a-zA-Z0-9][a-zA-Z0-9]*.*
        

        取决于您在页面上设置 twitter 提要的格式。此正则表达式假定您的格式如下:

        username: @username msg txt
        

        如果匹配,则不显示。如果不匹配,则显示它。 :) 如果您在文本中添加了标签,请适当调整正则表达式。

        【讨论】:

          猜你喜欢
          • 2015-01-09
          • 1970-01-01
          • 2016-06-12
          • 1970-01-01
          • 2017-10-27
          • 2018-06-20
          • 1970-01-01
          • 1970-01-01
          • 2017-08-06
          相关资源
          最近更新 更多