Подскажите пожалуйста способ выделения жирным подстроки?
Строка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, время: 02:25. |