我正在尝试构建一个textarea支持降价的。我已经成功地将降价转换为 HTML 以呈现预览,使用以下管道:
import { Pipe, PipeTransform } from '@angular/core';
import * as marked from 'marked';
import * as DOMPurify from 'dompurify';
@Pipe({ name: 'markdown' })
export class MarkdownPipe implements PipeTransform {
markdownToSafeHtml(value: string): string {
const html = marked(value);
const safeHtml = DOMPurify.sanitize(html);
return safeHtml;
}
transform(str: string): string {
if (str && str.length > 0) {
const html = this.markdownToSafeHtml(str);
return html.toString();
}
return str;
}
}
以及以下 HTML:
<div [innerHTML]="value | markdown">
它正在工作并显示降价设计,但问题是我可以在降价字符串中添加任何 HTML 标签,并且因为我正在使用innerHTMLdiv 将使用它们,例如<h1>hello</h1>在此标签的预览中使用礼物,它应该将其呈现为文本。
没有其余的 HTML 标签,我如何转换为降价?
我已经尝试对 HTML 字母进行编码(例如&
等等),问题是在使用代码降价时,这个转换:<div>example</div>
是<div>example</div>
慕尼黑8549860
相关分类