6

我有一个带有 Twitter 主题标签的数组。我想tw.text为这些主题标签过滤一个字符串并将这些单词包装在一个span

var hashtags = new Array("home","car", "tree");

tw.text.replace('#home', '<span class="hash">#home</span>')

我该怎么做?

先感谢您。

4

2 回答 2

4
hashtags.forEach(function (elem) {
    tw.text = tw.text.replace('#' + elem, '<span class="hash">#' + elem + "</span>");
});

这不考虑包含可能导致重复替换的其他标签的标签。

于 2013-03-10T18:21:11.217 回答
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...)所有替换都一次性完成。

于 2013-03-10T18:29:25.257 回答