Vue.component("keyword", {
props: ["v-word"],
data: function () {
let word = this.vWord
if (word == null) {
word = ""
} else {
word = word.replace(/\)/, "\\)")
word = word.replace(/\(/, "\\(")
word = word.replace(/\+/, "\\+")
word = word.replace(/\^/, "\\^")
word = word.replace(/\$/, "\\$")
}
let slot = this.$slots["default"][0]
let text = this.encodeHTML(slot.text)
if (word.length > 0) {
text = text.replace(new RegExp("(" + word + ")", "ig"), "$1")
}
return {
word: word,
text: text
}
},
methods: {
encodeHTML: function (s) {
s = s.replace("&", "&")
s = s.replace("<", "<")
s = s.replace(">", ">")
return s
}
},
template: ``
})