我有一个包含Twitter主题标签的数组。我想为这些主题标签过滤字符串tw.text
并将这些字词包装在span
var hashtags = new Array("home","car", "tree");
tw.text.replace('#home', '<span class="hash">#home</span>')
我该怎么做?
提前谢谢。
答案 0 :(得分:4)
hashtags.forEach(function (elem) {
tw.text = tw.text.replace('#' + elem, '<span class="hash">#' + elem + "</span>");
});
这不会考虑包含可能导致重复替换的其他标记的标记。
答案 1 :(得分:3)
我会建立一个正则表达式来做这样的替换......
var hashtags = new Array("home","car", "tree");
var rex = new RegExp("#("+hashtags.join("|")+")",'g')
tw.text.replace(rex, '<span class="$1">#$1</span>')
正则表达式最终为#(thing|another|etc...)
所以所有替换都是一次性完成的。