2

.each()短い:正規表現を使用したjQueryの関数のようなものを探しています。

の形式の短い文字列を含む長いテキストがあります<abcd1234>。は、見つかったすべての文字列に対して生成されるインクルードテキストカラーでabcd1234ラップする必要があります。<span>私はこの関数がそうすることを見つけました:https ://stackoverflow.com/a/3426956/237312

function nickFormat(text) {
            var exp = /\&lt\;(.*)\&gt\;/ig;
            name = exp.exec(text);
            return text.replace(exp, "&lt;<span style='color: #"+intToARGB(hashCode(RegExp.$1)).substr(0, 6)+"'>$1</span>&gt;");
        }

これは、見つかった文字列を置き換える現在のコードです。これは、正規表現が機能していることを意味します。しかし、当初の意図どおりではありません。見つかったすべての文字列は同じ色で色付けされます。

何かアイデア、それを解決する方法は?

4

1 に答える 1

2

Felix Klingのおかげで、私は問題を非常に迅速に修正することができました。ありがとう!

function nickFormat(text) {
    var exp = /\&lt\;(.*)\&gt\;/ig;

    function makeItSo(match) {
        return "<span style='color: #"+intToARGB(hashCode(match)).substr(0, 6)+"'>"+match+"</span>";
    }
    return text.replace(exp, makeItSo);
}
于 2013-02-11T15:06:24.217 に答える