Javascript: выделение части строки с помощью тегов

. Я пытаюсь выделить совпадение в строке, вставив теги вокруг соответствующей подстроки. Например, если запрос это «cat», то:

"I have a cat."

должно стать:

"I have a <b>cat</b>."

Аналогично, если запрос «переполнение стека», то:

"Stack Overflow is great."

должно стать:

"<b>Stack Overflow</b> is great."

Другими словами, я должен сохранить регистр исходной строки, но не учитывать регистр при сопоставлении.

Одна вещь, которую я до сих пор пробовал, это:

var regex = new RegExp('(' + query + ')', 'i');
return strResult.replace(regex, '<b>$1</b>');

Однако, это вызывает исключение во время выполнения, если в запросе есть какие-либо круглые скобки, и я думаю, что будет слишком сложно пытаться избежать всех возможных символов регулярного выражения.

5
задан Mike Christensen 1 September 2010 в 19:42
поделиться