forked from boundlessfi/boundless
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrenderHtml.ts
More file actions
50 lines (48 loc) · 844 Bytes
/
Copy pathrenderHtml.ts
File metadata and controls
50 lines (48 loc) · 844 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import DOMPurify from 'dompurify';
export function sanitizeHtml(html: string | undefined | null) {
const dirty = html ?? '';
try {
const clean = DOMPurify.sanitize(dirty, {
ALLOWED_TAGS: [
'b',
'i',
'em',
'strong',
'a',
'p',
'ul',
'ol',
'li',
'br',
'span',
'div',
'h1',
'h2',
'h3',
'h4',
'h5',
'img',
'code',
'pre',
'blockquote',
'small',
'sup',
'sub',
],
ALLOWED_ATTR: [
'href',
'target',
'rel',
'class',
'id',
'title',
'alt',
'src',
],
});
return { __html: clean };
} catch (err) {
console.error(err);
return { __html: dirty };
}
}