From 325b9afca6c07db8ea3ef88690909b2171c82efd Mon Sep 17 00:00:00 2001 From: Ian Morland <16573496+imorland@users.noreply.github.com> Date: Sun, 12 Dec 2021 19:30:56 +0000 Subject: [PATCH] fix: getPlainContent causes external content to be fetched (#3193) --- js/src/common/utils/string.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/js/src/common/utils/string.ts b/js/src/common/utils/string.ts index be7bc92d1..df66716d4 100644 --- a/js/src/common/utils/string.ts +++ b/js/src/common/utils/string.ts @@ -28,11 +28,16 @@ export function slug(string: string): string { export function getPlainContent(string: string): string { const html = string.replace(/(<\/p>|
)/g, '$1  ').replace(/]*>/gi, ' '); - const dom = $('
').html(html); + const element = new DOMParser().parseFromString(html, 'text/html').documentElement; - dom.find(getPlainContent.removeSelectors.join(',')).remove(); + getPlainContent.removeSelectors.forEach((selector) => { + const el = element.querySelectorAll(selector); + el.forEach((e) => { + e.remove(); + }); + }); - return dom.text().replace(/\s+/g, ' ').trim(); + return element.innerText.replace(/\s+/g, ' ').trim(); } /**