Как обрамить строку в подстроке тегами?
Когда мы разрабатываем страницу поиска, то было бы удобнее видеть поисковую фразу в найденных строках.
let strIn = $('.item'), //Объявляем массив результатов поиска str = '$search', //строка поиска reg = new RegExp( escapeRegExp(str).replace(/\s+/g,'|') , 'gi' ); //регулярное выражение //Далее пишем функцию поиска и обрамления тегами подстроки function escapeRegExp(str) { return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); } //Далее обходим каждый результат из массива items и заменяем значение for (let i = 0; i < strIn.length; i++) { const sting = $(strIn[i]).find('a').text(), index = $(strIn[i]).find('a').text().indexOf(str); $(strIn[i]).find('a').html(sting.replace(reg, '<span>$&</span>')) }
На этом все удачи!