需求:后端返回的富文本字符串要转成html结构显示在页面上。
处理方法
function showHtml(str: string) {
str = str.replace(/&/g, '&');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
str = str.replace(/ /g, ' ');
str = str.replace(/'/g, "'");
str = str.replace(/"/g, '"');
//后端有可能返回"&amp;amp;amp;lt;p&amp;amp;amp;gt;测试测试",使用递归彻底转换成html结构
var regex = /(&|<|>| |'|")/g;
if (regex.test(str)) {
str = showHtml(str);
}
return str;
}
const description = ref('')
function init(){
description.value = showHtml(detail.desc)
}
init()
页面上回显
用v-html指令将html标签解析后输出
<div v-html="description"></div>