Подскажите пожалуйста как можно найти часть текста в строке между
"(" и
")" и завернуть всё это в какой-нибудь html тег, например
<i>
или
<span>
Поясню мой пример:
Из бекенда прилетает array типа:
<li>Москва (Московская область)</li>
<li>Мытищи (Московская область)</li>
<li>Химкм (Московская область)</li>
<li>Санкт-петербург (Ленинградская область)</li>
<li>Выборг (Ленинградская область)</li>
<li>Кировск (Ленинградская область)</li>
Задача
Обернуть всё, что в скобках (области) в html тег и реплейсом потереть скобки, что бы получилось:
<li>Москва <i>Московская область</i></li>
...
<li>Санкт-петербург <i>Ленинградская область</i></li>
...
Я пробовал сделать что то вроде этого:
.replace(/\(/g, "<i>")
.replace(/\)/g, "</i>");
и конечно же у меня ничего не вышло, так как в строке html символы недопустимы. На этом мои идеи (познания в JS) были исчерпаны.
для более полной картины часть функции с которой работаю:
...
var items = barq.baseField.innerHTML.replace(/<!--([^\[|(<!)].*)/g, '')
.replace(/\s{2,}/g, '')
.replace(/(\r?\n)/g, '');
var regex = /<option(?:[^>]*?value="([^"]*?)"|)[^>]*?>(.*?)<\/option>\n?/gi;
var li = '<li data-value="$1">$2</li>';
items = items.replace(regex, li);
return items;
Буду бескрайне благодарен откликнувшимся и вашим идеям.