Я искал ответ, но не смог найти его для моего конкретного случая использования. Я пытаюсь сделать все совпадения (исходящие от объекта словаря) в строке зелеными, благодаря HTML-теги.поместив теги html вокруг совпадений в строке
В частности, есть случай, когда я не нашел способ решить (объясненный после моего кода).
var data = "cat fish";
var dictionary = {
"regex1": "cat",
"regex2": "cat fish"
}
function buildColoredString(data, dictionary) {
var coloredString = data;
for (var prop in dictionary) {
var toReplace = new RegExp(dictionary[prop].regex, "g");
var newString = "<b style='color: green;'>" + dictionary[prop].regex + "</b>";
coloredString = coloredString.replace(toReplace, newString);
}
console.log(coloredString);
}
При запуске buildColoredString я получаю только «кошку», чтобы быть в окружении HTML тегов, но не «сома», так как это не сопрягая благодаря HTML тегов, находящихся в настоящее время в строке я в здании. Любая идея, как решить эту проблему и получить «кошку» & «кошачья рыба», окруженная тегами HTML (я не против, если есть слишком много тегов, которые делают некоторые из них бесполезными с визуальной точки зрения.
за вашу помощь, имеют хороший день!