使用innerHtml在div中显示HTML字符串

时间:2018-11-30 00:54:14

标签: html angular

我需要使用div显示原始HTML字符串。我将HTML字符串分配给div的innerHTML,如下所示

<div [innerHTML]="rawHTMLString">
</div>

但是,如果html字符串包含多行注释或内联样式,它们也将显示为文本。请参阅Stack Blitz here上的问题。

预期的功能是不应显示注释和嵌入式样式块。这就是应该呈现的方式。

Expected result

关于堆栈溢出的所有先前答案都指向使用div innerHTML。我知道我在这里缺少一些琐碎的东西,但是我似乎无法弄清楚。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

使用DomSanitizer

  safeHtml(html) {
    return this._sanitizer.bypassSecurityTrustHtml(html);
  }

并在模板中

  <div [innerHTML]="safeHtml(rawHTMLString)"></div>

STACKBLITZ DEMO