Angular 绕过SecurityTrustHTML和UTF-8的问题

Angular 绕过SecurityTrustHTML和UTF-8的问题,angular,sanitization,Angular,Sanitization,我有一个管道将一些HTML代码标记为安全的。但我的问题是,当我使用它时,一些字符会被转换成正方形 管道看起来像这样: import { Pipe, PipeTransform, SecurityContext } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; @Pipe({ name: 'safeHtml' }) export class SafeHtmlPipe imple

我有一个管道将一些HTML代码标记为安全的。但我的问题是,当我使用它时,一些字符会被转换成正方形

管道看起来像这样:

import { Pipe, PipeTransform, SecurityContext } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';

@Pipe({
   name: 'safeHtml'
})
export class SafeHtmlPipe implements PipeTransform {

constructor(private sanitized: DomSanitizer) {}

transform(value: string) {
 return this.sanitized.bypassSecurityTrustHtml(value);
}
}
以及HTML代码:

<div [innerHTML]="feedItem.content | safeHtml"></div>


有人知道它可以是什么吗?

如果您从任何内容管理系统获取html,angular将删除target=“\u blank”和一些其他元素属性

如果在不使用safeHTML的情况下绑定innerHTMl,则会删除一些元素属性

如果使用安全HTML,则会忽略不会剥离

无论您在UI中看到什么特殊字符或图标,如果您使用safeHtml,它都将消失

确保在模块中添加此管道


我希望您得到答案

如果您从任何内容管理系统获得html,angular将删除target=“\u blank”和其他一些元素属性

如果在不使用safeHTML的情况下绑定innerHTMl,则会删除一些元素属性

如果使用安全HTML,则会忽略不会剥离

无论您在UI中看到什么特殊字符或图标,如果您使用safeHtml,它都将消失

确保在模块中添加此管道

我希望你得到答案