Подскажите пожалуйста способ выделения жирным подстроки?
Строка1: "строка текста"
Строка2: "стр тек" Нужно получить: "стр<b>ока</b> тек<b>ста</b>" |
var str1 = "строка текста"; var str2 = "стр тек"; str2.split(" ").forEach(function (str) { str1 = str1.replace(new RegExp("(" + str + ")([^\\s]*)"), "$1<b>$2</b>"); }); alert(str1); |
Цитата:
var str1='строка текста'; var str2='стр тек'; var a=str2.split(' '); for (i=0; i<a.length; i++) { var re=new RegExp('('+a[i]+')([^\\s]*)'); str1=str1.replace(re,'$1<b>$2</b>'); }; alert(str1); |
tsigel,
ksa, Спасибо за помощь, я так понял вы использовали не пробел [^\\s] для того чтобы найти конец слова. Я привёл некорректный пример. Дело в том, что может быть любой порядок расположения и любое количество слов в str1 и str2 (т.е. там могут быть пробелы и до и после, т.е. [^\\s] не поможет), но все слова в str2 всегда есть в str1 либо как отдельные слова, либо как начала слов. Если бы нужно было бы наоборот выделить совпадение жирным было бы просто. У меня вот единственная идея задать css class всей строке str1 с жирным начертанием, а у совпадений изменять на class="". |
Momon,
Мне кажется что это хорошая идея и её просто реализовать. |
Цитата:
|
Часовой пояс GMT +3, время: 11:56. |