Для наиболее надежного решения в вашем случае, this может выполнять работу, но вы должны хорошо понимать, что это такое! Это не содержит опасно в своем имени без причины:
В общем, установка HTML из кода рискованна, потому что легко случайно подвергнуть ваших пользователей к межсайтовый скриптинг (XSS) атака.
Если вы go с этим решением, вы должны быть на 100% уверены, что значение, полученное от ввода пользователя, подтверждено и подтверждена как безопасная (по крайней мере, html -экранированная ).
И если вы хотите более безопасное решение (РЕКОМЕНДУЕТСЯ) , вам нужно написать немного больше кода, проверьте это codeandbox (извините, если я пропустил некоторую проверку индекса, но вы поймете суть). Как видите, он выполняет итерацию по строке, проверяя индекс, с которого начинается совпадение, берет кусок текста перед совпадением (без его стилизации) и после этого помещает стилизованную фразу. Оттуда он продолжается до конца, чтобы найти все оставшиеся совпадения. Это может стать более сложным, если, например, ваша строка может содержать html, и в этом случае вы будете еще больше токенизировать строку.