1

複数の単語が含まれている可能性のある特定の文字列で、一致する単語にスタイル (青いフォント) を適用したいと考えています。この文字列には、同じ単語を繰り返すこともできます。

例: 文字列段落 = "これは、部分文字列と照合される文字列です。一致する部分文字列は、単一の単語または複数の単語で構成された文字列です。"

String matchingString = 'string word'

今、文字列と段落文字列の単語の両方の一致する単語に青い太字スタイルを適用したいと思います。

JavaScriptでこれを行う方法を教えてください。

ロバートに感謝します。

4

2 に答える 2

1

仮定する:

<div id="myDiv">This is the string which will be matched against substring. The matching substring can be a single word or multple words composed string.</div>

.some-class{
    color: blue;
    font-weight: bold;
}

次に、次のようにして単語を置き換えることができます。

var elem = document.getElementById('myDiv');
var phrase = 'string word';
var regex = new RegExp(phrase.split(' ').join('|'),"gi");
//result   =>    /string|word/g
elem.innerHTML = elem.innerHTML.replace(regex,'<span class="some-class">$&</span>');

ライブデモ

于 2012-07-28T13:00:18.253 に答える
0
var text = "This is the string which will be matched against substring...";
var search = "string word";

var words = search.split(" ");
for (var i = 0; i < words.length; ++i) {
    text = text.replace(words[i], "<span style='color: blue;'>"+words[i]+"</span>");
}

document.write(text);

ここでテストしてください: http://jsfiddle.net/Zh6t9/

于 2012-07-28T12:58:27.027 に答える