Показать div внутри contenteditable на основе текста - PullRequest
0 голосов
/ 10 сентября 2018

Мне нужно добавить div внутри contenteditable div, основываясь на тексте contenteditable div. Пример дела:

const ceDiv = document.getElementById('foo')

//and when text in ceDiv ends with {{ i need to show another div in current caret position

что-то вроде Facebook сделал с упоминанием друзей

что я сделал сейчас, заменил {{var}} на div:

export function findAndReplaceBrackets(string: string): string {
    const bracketReg = /\{{2}(.*?)\}{2}/ig
    const brackets = string.match(bracketReg)
    if (!brackets) return string
    string = string.replace(/<\/?[^>]+(>|$)/g, '') // reset variables in string
    brackets.forEach(variable => {
        string = string.replace(variable, `<span style="
            cursor: pointer;
            background-color: blue;
            color: #ffffff;
            text-transform: uppercase;
            font-size: 13px;
            padding: 1px;
            margin: 0 2px;
            border-radius: 4px
        ">${variable}</span>`)
    })

    return string
}

но это совсем не решает мою проблему

...