首先,我查看了Stackoverflow上的很多帖子,但我没有看到一个似乎是最终方式的帖子。有人似乎总是在正则表达式中找到一个缺陷。
我已经检索过我的推文,显然每个推文中都可以包含任意数量的主题标签。
如果我想找到一系列可能的主题标签 - [“#ENGLAND”,“#IRELAND”,“#wales”]等等。
检查推文是否包含这些主题标签的可靠方式是什么?我不想再次调用API,我只想检查我现有的推文,因为我点击了按钮来动态更改过滤,如果他们长时间点击一下就想避免速率限制。
编辑:
示例:这是一条包含#ENGLAND和#someothertag
的推文我想搜索所有的推文,只显示包含我的一个或多个标签的推文,我已经缓存了推文,我不想打包含任何标签只是过滤现有结果!
答案 0 :(得分:0)
// match a #, followed by either "question" or "idea"
var myregexp = /#(england|ireland|wales)\b/i;
var match = myregexp.exec(subject);
if (match != null) {
result = match[1]; // will contain "england","ireland", or "wales"
} else {
result = "";
}
如果您不知道手头标签的名称 取代
var myregexp = /#(england|ireland|wales)\b/i;
与
var myregexp = /#(\w+)/; // Use this instead
答案 1 :(得分:0)
为什么只能在散列化任何主题标签时对特定主题标签(需要指定然后维护)进行散列化?
我通常使用这样的东西:
var hashregex = /#([a-z0-9_\-]+)/gi,
text = text.replace(hashregex, function (value) {
return '<a target="_blank" href="http://twitter.com/#!/search?q=' + value.replace('#', '%23') + '">' + value + '</a>';
});
然后,当您将内容设置为已处理的推文时,您可以使用text
答案 2 :(得分:0)
您可以存储元素中实体的主题标签,例如
<div class='tweet' data-hashtags='england ireland'>some_tweet</div>
当有人点击您的按钮时,请按此过滤:
$('div.tweet').hide();
$('div.tweet[data-hashtags~="ireland"]').show();
它显然大大简化了,但一般方法应该可以帮助您避免自己解析标记