2017-02-28 121 views
0

从输入框中获取同义词的单词。该单词的同义词应该来自另一个文本,并且如果发现它应该被显示。使用javascript从给定单词的段落中查找同义词

+1

提供一些代码,请。 – Mistalis

+1

请提供有关您的问题的更多详细信息。即。什么是输入和预期输出?你已经尝试过的任何方法? –

+0

假设有一个文本区域中有一个写了一个段落,另外有一个填充了单词的输入字段应该从上面的文本字段中找到所有的同义词。文本区域中的数据是动态的可以更改 –

回答

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