搜索单词,替换为链接

8ehkhllq  于 2022-10-09  发布在  jQuery
关注(0)|答案(1)|浏览(158)

我有一个这样的数组

var words = [
    {
        word: 'Something',
        link: 'http://www.something.com'
    },
    {
        word: 'Something Else',
        link: 'http://www.something.com/else'
    }
];

我想让它在页面上搜索单词,并用链接取代它。有没有一种有效的方法来做到这一点?看起来它可能对CPU需求很大。

对不起,我应该解释更多的..。

例如,它将搜索类为.Message的每个元素。然后找到该类中的所有单词并将其替换为link。

在这个数组中也会有几百个

2izufjch

2izufjch1#

一个好的策略是:

1)构建一个对象,其关键字是要替换的短语,其值是要替换它们的链接。

2)在执行此操作时,构造一个可以与任何键匹配的正则表达式,然后

3)使用正则表达式进行全局替换。

粗略的例子:

var replacementDict = {
    'foo': 'http://www.foo.com/',
    'bar': 'http://www.bar.net/'
};
var theRegex = /b(foo|bar)b/g;
theText.replace(theRegex, function(s, theWord) {
    return "<a href='" + replacementDict[theWord] + "'>" + theWord + "</a>";
});

相关问题