如何将 Vue 标签转换为 HTML 且解决安全过滤问题?
当我们从后端收到含有 HTML 标签的文本时,需要将其转换为浏览器可识别的 HTML 代码。在 Vue 中,可以使用 v-html 指令将 Vue 表达式转换为 HTML 元素。
然而,在某些情况下,v-html 指令可能无法正常工作,可能是由于安全过滤导致文本中某些特殊字符被转义。解决此问题的一种方法是将特殊字符进行转义,然后再使用 v-html。
以下是一个实现此功能的示例函数:
function htmlDecode(iStr) { let sStr = iStr; sStr = sStr.replaceAll("&", "&"); sStr = sStr.replaceAll(">", ">"); sStr = sStr.replaceAll("<p>在使用 v-html 之前,可以将返回文本传递给 htmlDecode 函数,如下所示:</p><div v-html="htmlDecode(content)"></div>通过执行此操作,我们将确保所有特殊字符都被正确转义,并且 v-html 能够正确地渲染 HTML 代码。