你可以使用 Vue 的 v-html
渲染,并在渲染时使用一个处理函数来高亮其中的字母 “b” 和 “t”,但排除
、<
、>
、"e;
中的 “t”。以下是一个简单的例子:
<template>
<div v-html="highlightedHtml"></div>
</template>
<script>
export default {
data() {
return {
str: '<html>dsdsdbfu粉红色b的从事微风ewcfdf; dsi<注册>dsids大萨达是多b看得我看看、 s k "e;dsjoo </html>',
};
},
computed: {
highlightedHtml() {
return this.highlightLetters(this.str);
},
},
methods: {
highlightLetters(inputString) {
return inputString.replace(/([bt])|(&[a-zA-Z]+;)/g, (match, letter, entity) => {
if (letter) {
// 高亮字母 "b" 和 "t"
return `<span style="color: red;">${letter}</span>`;
} else {
// 不处理 " ", "<", ">", ""e;" 中的 "t"
return entity;
}
});
},
},
};
</script>
这个例子中的 highlightLetters
方法使用正则表达式将字符串中的字母 “b” 和 “t” 替换为带有红色样式的 <span>
,同时保留
、<
、>
、"e;
。在模板中,使用 v-html
渲染经过处理的字符串。请注意,使用 v-html
需要谨慎,确保渲染的内容是安全的。