diff --git a/src/lib/flow-console/reader.ts b/src/lib/flow-console/reader.ts index da0054b..7ad8fc8 100644 --- a/src/lib/flow-console/reader.ts +++ b/src/lib/flow-console/reader.ts @@ -157,12 +157,18 @@ export function renderReaderPrintDocument(thread: MailThread) { } function sanitizeReaderHtml(value: string) { - const body = extractBody(value) - .replace(/]*>/gi, '') - .replace(/]*>[\s\S]*?<\/head>/gi, '') - .replace(unsafeTagPattern, '') - .replace(unsafeSelfClosingTagPattern, '') - .replace(//g, ''); + let body = extractBody(value); + let previous: string; + + do { + previous = body; + body = body + .replace(/]*>/gi, '') + .replace(/]*>[\s\S]*?<\/head>/gi, '') + .replace(unsafeTagPattern, '') + .replace(unsafeSelfClosingTagPattern, '') + .replace(//g, ''); + } while (body !== previous); return body.replace(tagPattern, (match, tagName, rawAttributes) => { const tag = String(tagName).toLowerCase();