2017-02-28 5 views
0

入力ボックスから同義語が見つかる単語を取得して、指定した単語の段落から同義語を検索します。単語の同義語は別のテキストからのものでなければならず、見つかった場合はそれを表示する必要があります。javascript

+1

は、いくつかのコードを入力してください。 – Mistalis

+1

質問の詳細をご記入ください。すなわち、入力と予想される出力は何ですか?既にお試しいただいている方法はありますか? –

+0

1つに2つのテキストエリアがあるとします。もう1つは、上記のテキストフィールドからすべての同義語が見つかるはずです。ダイナミックなテキスト領域のデータは変更できます –

答えて

0

すべての単語を同義語にマッピングしてから、単語を検索/置換するだけです。

var synonyms = { 
 
    'car': [ 
 
    'vehicle', 
 
    'motorcar', 
 
    'truck' 
 
    ], 
 
    'door': [ 
 
    'entrance', 
 
    'opening', 
 
    ] 
 
}; 
 

 
$(document).ready(function() { 
 
    $(document).on('change', 'input', function() { 
 
    var text = $('p').text(); 
 

 
    if (typeof synonyms[$(this).val()] !== 'undefined') { 
 

 
     $.each(synonyms[$(this).val()], function() { 
 
     text = text.replace(this, '<span>' + this + '</span>'); 
 
     }); 
 
    } 
 

 
    $('p').html(text); 
 
    }); 
 
});
p span { 
 
    background-color: yellow; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" placeholder="Enter word 'car' or 'door'" /> 
 

 
<p> 
 
    opening vehicle cat truck pineapple red entrance 
 
</p>


チェックアウトこのsynonyms page