如何搜索与数组匹配的
字符串中的每个单词?
这是我的原型:
$("#latte").on("click", function() {
$('#lattePool').load('dictionary.txt');
var text = $("#lattePool").text().toUpperCase();
var words = text.split("\n");
var dictionary = new Array();
for(var i=0; i < words.length; i++) {
dictionary[i] = words[i];
};
$("#notes p").each(function(){
var nameFound = $.inArray($(this).text().trim().toUpperCase(), dictionary);
if (nameFound === -1){
} else {
alert($(this).text() + " found in array");
}
});
});
当用户点击#latte按钮时,它会将一个dictionary.txt文本加载到临时池调用#lattePool中,然后将其分解为单个单词,然后分解为一个非常长的数组。
然后,当用户将某些内容粘贴到一个可信的div #notes中时,它需要在
标记中找到包含字典数组中所有单词的每个单词。
目前它仅适用于
中的单个单词,而不是长字符串。
是否有任何想法可以检查数组中
的每个单词?
非常感谢〜!!!
答案 0 :(得分:0)
而不是$("#notes p").each
您需要获取p
标记文字并用空格分割并循环浏览它以找出所有单词。
试试这个:
$("#latte").on("click", function() {
$('#lattePool').load('dictionary.txt', function(){
var text = $("#lattePool").text().toUpperCase();
var words = text.split("\n");
var dictionary = new Array();
for(var i=0; i < words.length; i++) {
dictionary[i] = words[i];
};
var contentEditableTxt = $("#notes p").text();
var splitCntEditableTxt = contentEditableTxt.split(" ");
$.each(splitCntEditableTxt,function(key,val){
var nameFound = $.inArray(val.trim().toUpperCase(), dictionary);
if (nameFound === -1){
} else {
alert(val + " found in array");
}
});
});
});