项目中有个新闻内容模块,是由后端传来一段html文本,我决定在前端使用v-html渲染出来。
但是,把带有style的标签直接渲染在这个页面上就真的很离谱!
用正则匹配html标签里的style并使用replace删除
let content = "<p style='color: #00afef;'>下次一定</p>"; content = content.replace(/style\s*=\s*('[^']*'|"[^"]*")/ig, ""); // 或者你可以,先去除一次带双引号的,再去除一次带单引号的 // content = content.replace(/style="[^\"]*?"/ig, "").replace(/style='[^\']*?'/ig, "");