From 208600bd16332f158559264dbeeefa59ea65e81e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Mon, 16 Feb 2026 13:56:27 +0100 Subject: [PATCH] Fix HTML attribute parsing for escaped quotes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- changelog.d/attrs-parsing.fix | 1 + src/services/html_converter/utility.service.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/attrs-parsing.fix diff --git a/changelog.d/attrs-parsing.fix b/changelog.d/attrs-parsing.fix new file mode 100644 index 000000000..e36e59a86 --- /dev/null +++ b/changelog.d/attrs-parsing.fix @@ -0,0 +1 @@ +Fix HTML attribute parsing for escaped quotes \ No newline at end of file diff --git a/src/services/html_converter/utility.service.js b/src/services/html_converter/utility.service.js index 5cdcf33cd..4c36eda2f 100644 --- a/src/services/html_converter/utility.service.js +++ b/src/services/html_converter/utility.service.js @@ -23,7 +23,7 @@ export const getAttrs = (tag, filter) => { .replace(/\/?$/, '') .trim() const attrs = Array.from( - innertag.matchAll(/([a-z]+[a-z0-9-]*)(?:=("[^"]+?"|'[^']+?'))?/gi), + innertag.matchAll(/([a-z]+[a-z0-9-]*)(?:=((?:"(?:\\.|[^"\\])*")|(?:'(?:\\.|[^'\\])*')))?/gi), ) .map(([, key, value]) => [key, value]) .map(([k, v]) => {