Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2017, 20:22
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

как обернуть слова в тексте в тег strong
Добрый день есть слова в массиве или их часть. как можно обернуть все слова в тексте в тег strong, но если это часть слова то выделить все слово, если слова находятся рядом то выделить их оба
Например массив содержит следующие слова:
слов
предложения
из
просто

Есть текст
простой текст словосочетание из предложения

в итоге должно обернуть "простой" и "словосочетание из предложения" в тег strong.
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2017, 20:57
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 990

глубина схожести какая должна быть?
Однокоренные слова.
Только окончания разные.
Просто совпадения по нескольким символам
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2017, 21:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 20,842

prog77,
<style type="text/css">
   strong{
     border: 2px #0000FF solid;
     border-radius: 8px;
     padding: 2px 8px;
   }

  </style>
<script>
  var a = "слов|предложения|из|просто", b;
  var reg = new RegExp("^("+a+")");
  var str = "простой текст словосочетание из предложения"
  str = str.split(/\s+/).map(function(a,i,c) {
  reg.lastIndex=0;
  if(reg.test(a)&&!b) {a = "<strong>" + a; b=true};
  reg.lastIndex=0;
  if((!c[i+1] && b)||(!reg.test(c[i+1]) && b)) {a += "</strong>";b=false};
  return a
}).join(" ");
document.write(str)
  </script>
Ответить с цитированием
  #4 (permalink)  
Старый 17.07.2017, 10:07
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

Сообщение от j0hnik Посмотреть сообщение
глубина схожести какая должна быть?
Однокоренные слова.
Только окончания разные.
Просто совпадения по нескольким символам
Да я об этом не подумал да было бы неплохо как-то искать однокоренные
например часть слова
розыгр
разыгр
на слова
розыгрыши, розыгрыш, разыграем,
В примере что я вам дал первый раз конечно слов
должно обернуть
слово, словах, слов, но никак не словосочетание, только как это реализовать, у меня даже в голове не укладывается, это нужно как-то учитывать окончания что-ли, если вы делали похожую задачу буду признателен если кините пример. В любом случае я могу изменить свои данные под приведенный пример, например вместо разыгр могу сделать разыгра, то есть могу сделать из одного слова несколько вариантов что бы подогнать только под окончание что-ли, только как узнать что это только окончание, а не составное слово. Спасибо
Ответить с цитированием
  #5 (permalink)  
Старый 17.07.2017, 10:09
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

рони, спасибо если что буду Ваш вариант использовать
Ответить с цитированием
  #6 (permalink)  
Старый 17.07.2017, 10:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 20,842

prog77,
чем вариант в пост №3 не устроил, и что вам нужно пример сделайте.
ваше описание пост №4 не осилил
Ответить с цитированием
  #7 (permalink)  
Старый 17.07.2017, 12:02
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

рони,
ваш пост полностью выполняет поставленную мной предыдущую задачу, но j0hnik, спросил одну вещь "Только окончания разные" в вашем случае это однокоренные слова, а мне уже нужно только с разными окончаниями. Да 4 пост немного за мудрено написал.
Я имел ввиду что могу подогнать все слова в массив. Сейчас у меня в массиве есть например
розыгр (розыгр аем)(розыгр ают)
разыгр (разыгр аем)(разыгр ают)

а я могу сделать
розыгра (розыгра ем)(розыгра ют)
разыгра (разыгра ем)(разыгра ют)
то есть сократить до нужного окончания, но как понять что это окончание а не однокоренное слово. Я в смысле как сделать что бы "словосочетание" не учитывалось потому что оно однокоренное со словом "слов". Как сделать выделение только с измененными окончаниями "слова","словах" но не "словосочетание".
Ответить с цитированием
  #8 (permalink)  
Старый 17.07.2017, 12:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 20,842

prog77,
не осилил, видимо бесполезно, но спасибо, больше не надо.
Ответить с цитированием
  #9 (permalink)  
Старый 17.07.2017, 12:41
Аспирант
Отправить личное сообщение для prog77 Посмотреть профиль Найти все сообщения от prog77
 
Регистрация: 05.07.2017
Сообщений: 57

Не знаю может просто делать проверку если найденное слово больше искомого более чем на 3 символа значит не оборачивать в strong, это единственное что в голову приходит.
Ответить с цитированием
  #10 (permalink)  
Старый 17.07.2017, 13:55
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 1,521

prog77,
Сообщение от prog77
может просто делать проверку если найденное слово больше искомого более чем на 3 символа значит не оборачивать в strong
По такому принципу отбросится, например, словарный
А как насчет приставок? Например, пословица?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вставить iptv в тег “video” из HTML5 ? nexlez (X)HTML/CSS 1 21.03.2017 08:41
Как обернуть каждый тег в несколько DIV содержащих по 1 атрибуту от этих самых тегов? Zaxap Общие вопросы Javascript 10 08.11.2016 10:56
Подсветка слова и перевода (как в Google Translate) nikkk Общие вопросы Javascript 0 27.09.2015 14:00
Как обернуть все содержимое страницы в <canvas>? Valentin1918 Общие вопросы Javascript 1 18.08.2015 09:56
Как вставить тег в конец других? SashaBorandi jQuery 7 28.08.2009 14:10