我使用AngularJs作为我的前端,使用Loopback作为我的后端API。我正在尝试将hashtag(#)功能添加到我正在处理的webapp中。我的字符串是$scope.postText
。我需要将所有以'#'开头的单词分开。
请建议我做到最好。在键入自己(如facebook)时,用标签标记词语会很高兴。如果你知道如何做这件事,请告诉我。
提前致谢。
答案 0 :(得分:0)
使用可以为此创建过滤器 -
angular.module('app', [])
.filter('split', function() {
return function(input, char, index) {
return input.split(char)[index];
}
});
{{input | split:'#':0}}
玩得开心!! !!
答案 1 :(得分:0)
var re = /(?:^|\W)#(\w+)(?!\w)/g, match1, matches1 = [];
while (match1 = re.exec($scope.postText))
{
matches1.push(match1[1]);
}
这对我有用。
答案 2 :(得分:0)
为了突出显示主题标签,就像你输入facebook一样: https://github.com/sujeet100/ngHashtags
答案 3 :(得分:0)
正如Tom在评论部分所指出的那样,你可以编写一个使用" split"像这样的方法:
function octothorpSplitter(hashtagString) {
var res = hashtagString.split('#');
res.shift(); //gets rid of unnecessary first element
return res;
}
octothorpSplitter("#OneString#2ndStringWithNumbers#3rdWith$pecialCharacters!");
//result: [ 'OneString', '2ndStringWithNumbers', '3rdWith$pecialCharacters!' ]
只需传入您自己的变量 - $scope.postText
- 而不是。