Показать сообщение отдельно
  #22 (permalink)  
Старый 30.12.2013, 21:46
Интересующийся
Отправить личное сообщение для MrBoriska Посмотреть профиль Найти все сообщения от MrBoriska
 
Регистрация: 25.12.2013
Сообщений: 12

Желательно доработать тот код, т.к. я уже из того плагин сделал и куча всего на него завязал.

Тоесть код вот такой теперь.

function gen(str,tabu,len,repeat,tags,tabuhide) { 
     var str, // Получаем текст из которого нужно выделить теги
          tabu = tabuhide + tabu.val(), // Получаем слова-исключения
          len = parseInt(len.val()), // Минимальная длинна тега
	      repeat = parseInt(repeat.val()), // Минимальное количество его повторений
	      tags, output = '';

     var  tabu = tabu.split(/\s*,\s*/), obj_tabu = {};
     for (var i=0; i<tabu.length; i++)  {obj_tabu[tabu[i]]=!0}; //сформировали обьект из запретных слов
     str = str.replace(/<[^>]*>/g, ' '); //выкусили теги
     str = str.replace(/[^a-zа-яё\s]/gi, ' '); //убрали небуквы
     str = str.split(/\s+/); //сформировали массив слов из строки
	 
     var obj_output = {};
     for (var i=0; i<str.length; i++)  {
       var word = str[i];
       if(word.length >= len && !obj_tabu[word])  obj_output[word]=(obj_output[word]||0)+1; // сформировали обьект из разрешённых слов и нужной длины
	 } 
	 
     var output1 = [];
     for(var word in obj_output) if (obj_output[word] >= repeat) output1.push(word); //отобрали слова с нужным повторением 
	 for (var i=0; i<output1.length; i++) if (i<1) output += output1[i]; else output += ', ' + output1[i]; // создали строку из элементов массива через запятую
	 
     return tags.val(output);
}



В общем нужно добавить в функцию еще один аргумент, не трогая положения старых, с коэффициентом совпадения и завязать сам процесс поиска совпадений еще и на нем. Более ничего не надо. Я бы и сам сделал, но в обьектах не шарю вообще.
Ответить с цитированием