1

さまざまなユーザー入力に基づいて、単語の配列を非表示の div (#words) に配置し、その情報を使用して関数を実行します。

私がやりたいことは、既存の単語の div をチェックすることです。

terms = $("#words").html();

次に、ページ (.ocrText) の別の場所に表示されている個別の div で、それらの単語のみを強力なタグで囲みます。

$('.ocrText').each(function() {
  $(this).html($(this).html().replace(/term/g, "<strong>term</strong>"));
});

したがって、彼らが「Tallant France」を検索し、それを保存した場合、次の文が表示されます。

「マーク・タラントはフランスで奉仕しました。」

次のようになります。

「マーク・<strong>タラント</strong>はで奉仕しました<strong>France</strong>。」

しかし、その変数を .replace() に挿入する方法がわかりません

///

編集: 用語は、次の形式で #words div に挿入されます: ["Tallant","France","War"] ... など。

4

2 に答える 2

0
$('.ocrText').each(function() {
    var term = 'term'
    var pattern = RegExp(term, 'g')
    $(this).html($(this).html().replace(pattern, "<strong>" + term + "</strong>"));
});
于 2012-08-01T17:23:19.320 に答える
0

単語に英数字のみが含まれていると仮定すると、次のように、単一の正規表現を作成して、それらすべてを一度に検索できます。

html = html.replace (
  new RegExp(terms.split(/\s*,\s*|\s+/).join('|'), 'g'), '<strong>$&</strong>');

分割は、用語文字列を個々の単語を含む配列に変換する必要があります。この例では、オプションで空白または空白だけで囲まれたコンマで分割するようにコーディングしました。

于 2012-08-01T18:01:41.900 に答える