добавлять и добавлять тег при каждом появлении строки - PullRequest
0 голосов
/ 07 мая 2019

По сути, у меня есть простая функция поиска, где вы можете искать что угодно, в настоящее время моя проблема в том, что мне нужно выделить искомое слово во всех моих статьях. Например, если я ищу «Испания» и у меня есть статья со следующим названием: «Испания - лучшая страна, у нас есть Испания ...» Мне нужно выделить оба слова «Испания».

Я уже предпринял несколько попыток, и в настоящее время у меня есть функция ниже, где мой entry.title - это заголовок статьи: «Испания - лучшая страна, у нас в Испании ...» и слово поиска - «Испания», это решает мою проблему, но только с 1 появлением.

    processTitle () {
        let newTitle = this.entry.title
        if(this.entry.title.includes(this.searchWord) && this.searchWord) {
            newTitle = this.entry.title.split(this.searchWord)
            console.log(newTitle)
            return `${newTitle[0]} <b>${this.entry.title}</b> ${newTitle[1]}`
        }

        return newTitle
    },

Мне нужен новый новый заголовок, в котором выделены все вхождения искомого слова. Любая помощь с этим?

1 Ответ

1 голос
/ 07 мая 2019

Вы можете использовать регулярное выражение для поиска по всей строке по всему миру для всех вхождений фразы и заменить ее новой

const title = "Spain is the best country, on Spain we have...";
const searchWord = "Spain";

function replaceAll(title, searchWord) {
    const replacement = `<b>${searchWord}</b>`
    return title.replace(new RegExp(searchWord, 'g'), replacement);
};

console.log(replaceAll(title, searchWord));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...