我的网站顶部有我的Twitter个人资料,但我想知道是否有办法过滤掉我的@replies并只显示我的状态更新?
由于
答案 0 :(得分:6)
答案 1 :(得分:4)
如果您正在使用Blogger和类似网站的标准Twitter Feed网页代码,那么这一点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” - 您可以在Web代码中搜索它(查找callback=twitterCallback2
)。要使用新过滤器,您需要将文本twittercallback2
替换为filterCallback
。过滤器经过硬编码,然后在完成后调用twitterCallback2
。
请注意,如果来自Twitter的某些回复是回复,这会减少显示的推文数量,因此您必须增加调用中的count参数以允许这样做。然后,新功能将显示的回复数量限制为5 - 编辑代码以更改该回复。
这是关于它的博文:Filter Replies out of Twitter Feed
答案 2 :(得分:3)
如果您想使用新的Twitter小部件,只需在小部件源代码的features:
设置中添加这段代码:
filters: {
negatives: /\B@\w{1,20}(\s+|$)/
},
我从Dustin Diaz的网站http://www.dustindiaz.com那里拿了这个。 Dustin Diaz是Twitter小部件的创建者。
答案 3 :(得分:1)
将setUser调用更改为
setUser('name&exclude_replies=true');
这是一种黑客攻击,但它可以解决问题
答案 4 :(得分:0)
取决于您用于显示条目的内容。如果你正在使用Twitter的小部件,那么可能不是。如果您正在使用其他一些以编程方式显示项目,则需要提供有关您正在做的事情的更多详细信息(语言,示例代码等),我们可能会帮助您进行过滤。
答案 5 :(得分:0)
您可能想要使用正则表达式。有点像:
[a-zA-Z0-9][a-zA-Z0-9]*: @[a-zA-Z0-9][a-zA-Z0-9]*.*
取决于您在页面上格式化推特Feed的方式。这个正则表达式假设您的格式如下:
username: @username msg txt
如果匹配,请勿显示。如果不匹配,则显示它。 :)如果你的文本中有标签,请适当调整正则表达式。