5

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

谢谢

4

6 回答 6

6

也许与雅虎管道

Tomalak为您做了一个简单的例子。

于 2009-03-06T17:53:23.980 回答
4

如果您使用 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)。要使用新过滤器,您需要将文本替换twittercallback2filterCallback. 过滤器是硬编码的,然后twitterCallback2在完成时调用。

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

这是我的博客文章:从 Twitter 订阅源中过滤回复

于 2009-06-03T10:58:00.300 回答
3

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

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

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

于 2010-01-15T00:03:46.730 回答
1

将 setUser 调用更改为

setUser('name&exclude_replies=true');

这是一种黑客行为,但它确实有效

于 2012-02-07T01:08:48.713 回答
0

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

于 2009-03-06T17:53:51.577 回答
0

您可能想要使用正则表达式。类似于以下内容:

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

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

username: @username msg txt

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

于 2009-03-06T17:56:53.270 回答