I'm struggling with a problem, I want to create a chat app, and the users to be able to tag each other, by using @. For example, user1 type in chat input 'hi @user2', the output should look the same, but '@user2' be a link instead of simple text, I figured how to do that, but the problem is that, if user input for example html tags, it's rendered as html.
HTML:
<span v-html="chatFormat(chat.text)"></span>
VUE:
chatFormat(text) {
var words = text.split(" ");
var newStr = '';
words.forEach(function (word) {
if (word.includes('@') >= 1) {
if (word.charAt(0) == '@') {
word = '{{ <a href="/user" class="font-weight-bold" style="text-decoration:none">' + word + '</a> }}';
}
}
newStr = newStr + ' ' + word;
});
return newStr;
}