简短:我正在寻找类似jQuery的.each()
函数和regex。
我有一个长文本,其中包含一些<abcd1234>
格式的短字符串。 abcd1234
应包含在<span>
中,包括为每个找到的字符串生成的文本颜色。我发现这个功能是这样做的:https://stackoverflow.com/a/3426956/237312
function nickFormat(text) {
var exp = /\<\;(.*)\>\;/ig;
name = exp.exec(text);
return text.replace(exp, "<<span style='color: #"+intToARGB(hashCode(RegExp.$1)).substr(0, 6)+"'>$1</span>>");
}
这是我当前的代码来替换找到的字符串/ s,这意味着正则表达式正在工作。但不是最初的意图。每个找到的字符串都用相同的颜色着色。
任何想法,如何解决?
答案 0 :(得分:2)
感谢Felix Kling,我能够快速解决问题。谢谢!
function nickFormat(text) {
var exp = /\<\;(.*)\>\;/ig;
function makeItSo(match) {
return "<span style='color: #"+intToARGB(hashCode(match)).substr(0, 6)+"'>"+match+"</span>";
}
return text.replace(exp, makeItSo);
}