Repeated sentences doesn't mark.
I want to mark repeated sentence from a text area input pragrapraph.
Here is my code
`
highlightRepeated(str) {
// Split the string into an array of sentences
const sentences = str.split(".");
// Create a variable to store the repeated sentences
let repeated = [];
// Iterate over the array of sentences
for (let i = 0; i < sentences.length; i++) {
const sentence = sentences[i].trim();
// If the sentence has already been added to the repeated array, highlight it
if (repeated.includes(sentence)) {
sentences[i] = `<mark>${sentence}</mark>`;
} else {
// Otherwise, add it to the repeated array
repeated.push(sentence);
}
}
// Return the modified string
return sentences.join(".");
},
`
The following snippet works for me. See if you want to use v-html. Or how the function is being called.
<script>
import { ref } from 'vue'
export default {
data(){
return {
msg: 'Hello'
}
},
computed: {
highlightedText(){
const hlt = this.highlightRepeated(this.msg);
console.log(hlt);
return hlt;
}
},
methods:{
highlightRepeated(str) {
// Split the string into an array of sentences
const sentences = str.split(".");
// Create a variable to store the repeated sentences
let repeated = [];
// Iterate over the array of sentences
for (let i = 0; i < sentences.length; i++) {
const sentence = sentences[i].trim();
// If the sentence has already been added to the repeated array, highlight it
if (repeated.includes(sentence)) {
sentences[i] = `<mark>${sentence}</mark>`;
} else {
// Otherwise, add it to the repeated array
repeated.push(sentence);
}
}
// Return the modified string
return sentences.join(".");
}
}
}
</script>
<template>
<h1>{{ msg }}</h1>
<h1 v-html="highlightedText"></h1>
<input v-model="msg">
</template>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.