Regex, чтобы сделать поисковое предложение жирным, как Google или Amazon - PullRequest
0 голосов
/ 28 февраля 2019

Я ищу решение сделать текст жирным, как это делают поисковые подсказки Goolge и Amazon.

Я знаю, как сделать это противоположным образом (если я наберу "ne"), например. Ne wton с такой функцией:

    highlight(value, input): string {
    return value.replace(new RegExp('(^|)(' + input + ')(|$)', 'ig'), '$1<b>$2</b>$3');
}

Но как это регулярное выражение должно выглядеть для достижения этого => Например, если я наберу "ne", я должен получить: 1. ne w car 2. Super ne w computer 3. Ne wton

1 Ответ

0 голосов
/ 28 февраля 2019

Если Regex, который вы здесь используете, покрывает все ваши варианты использования, простым решением было бы оставить его (почти) точно таким, как есть, и изменить CSS для достижения желаемого эффекта:

.search-suggestion { font-weight: bold; }
.search-suggestion > span { font-weight: normal; }

Поместите свое поисковое предложение в элемент, который имеет класс search-suggestion, и измените свое регулярное выражение, чтобы обернуть текст поиска в <span> вместо <b> элемента.

...