匹配推文中可能的标签列表-Javascript或jQuery
Matching a list of possible hashtags in a tweet - Javascript or jQuery
首先,我看了很多关于Stackoverflow的帖子,但我没有看到一个似乎是决定性的方式。似乎总有人在正则表达式中发现一个缺陷。
我已经检索到了我的推文,很明显,它们可以在每条推文中包含任意数量的标签。
如果我有一系列可能的标签,我想找到-["#英格兰"、"#爱尔兰"、"#wales"]等
检查推特是否包含这些标签的可靠方法是什么。我不想再次调用API,我只想检查我现有的推文,因为我正在点击按钮来更改即时过滤,如果他们持续点击很长时间,我想避免费率限制。
编辑:
示例:这是一条包含#ENGLAND和#someothertag 的推文
我想搜索所有的推文,只显示包含我的一个或多个标签数组的推文。我已经缓存了推文,我不想打包含任何标签的电话,只过滤现有结果!
当你可以散列任何标签时,为什么只散列特定的标签(你需要指定并维护)?
我通常使用这样的东西:
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
您可以将实体的标签存储在元素上,例如
<div class='tweet' data-hashtags='england ireland'>some_tweet</div>
当有人点击你的按钮时,像这样过滤:
$('div.tweet').hide();
$('div.tweet[data-hashtags~="ireland"]').show();
它显然大大简化了,但通用方法应该可以帮助您避免自己解析标签
// 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
相关文章:
- 如何使用jquery从下拉列表(javascript)中选择192.168.3.0进行测试自动化
- 参数列表Javascript Jquery后缺少)
- 更高级的TODO列表javascript
- 创建地图列表javascript
- 参数列表[Javascript语法错误]后的未捕获语法错误:缺少)
- 停止 C# 在下拉列表 javascript 验证失败时继续执行服务器端脚本
- 为什么来自.getJSON的名称在声明为列表(JavaScript / JQuery)的索引后仍未定义
- Vaadin 的特殊路径变量列表 @JavaScript(value = { “vaadin://..", &
- 仅将列表的项传输到另一个列表 JavaScript
- 匹配推文中可能的标签列表-Javascript或jQuery
- 删除粗体标记<b></b>在项目上单击列表javascript
- 参数列表/Javascript后的未捕获语法错误:缺少)
- 动态创建列表Javascript的索引
- 从列表javascript中删除选择值
- 使用箭头键浏览列表?(JavaScript/JQ)
- 如何将包含不同键值对的json转换为列表javascript
- 一个文本框的输入值,用于添加一个无序列表(Javascript)
- Sharepoint 2013添加查找值到列表从另一个列表Javascript
- 用列表过滤对象列表- Javascript
- 转换数组对象到数组列表(javascript)