var stringToHighlight = [userinput] // may be any string like "foo", "bar" or "."
var stringToBeHighlighted = [any text] // Lorem Ipsum ...
До сих пор яВыделив переменное слово в строке, используя регулярное выражение
var regex = new RegExp(stringToHighlight, "g")
var highlightedString = stringToBeHighlighted.replace(regex, "<span class='highlight'>$&</span>")
Это не работает для символа «» например, потому что он интерпретируется как метасимвол регулярного выражения. но не фактический характер ». в результате чего весь выделенный текст будет выделен. Как исключить эти специальные метасимволы?
po повторяющийся дубликат [generic regexp с использованием переменной jquery для замены точки, двоеточия или любого другого символа] (http://stackoverflow.com/questions/9620131/generic-regexp-using-jquery-variable-to-replace-dot-colon- или-любой-другой-характ) – Qtax