-1
我有以下的JavaScript函数找到CONTENTEDITABLE DIV中一组字的所有匹配:查找以@符号开头的词
var words = ['oele', 'geel', 'politie', 'foo bar'];
function markWords() {
var html = div.html().replace(/<\/?strong>/gi, ''),
text = html.replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' '),
exp;
$.each(words, function(i, word) {
exp = new RegExp('\\b(' + word + ')\\b', 'gi');
html = html.replace(exp, function(m) {
console.log('WORD MATCH:', m);
return '<strong>' + m + '</strong>';
});
});
//html = html.replace(' ', ' ').replace(/\s+/g, ' ');
div.html(html);
}
如何修改它,这样它标志着所有这些词,只有在他们以@
的号码开头的情况下?例如,如果你改变
exp = new RegExp('\\b(' + word + ')\\b', 'gi');
到
exp = new RegExp('@\\b(' + word + ')\\b', 'gi');
它会匹配@politie
或@foo bar
内容应该匹配@foo bar
等
那是你打算把'@'放在哪里?请记住'\'在字符串文字中有它自己的含义。 – 2013-05-09 13:23:04
不工作.... – enb081 2013-05-09 13:23:15
@squint这是一个错字,现在修复! – 2013-05-09 13:23:46