From d10aec8f08b295795b2a0d6a99c3340ec4016922 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Wed, 22 Feb 2023 08:51:33 +0100 Subject: [PATCH] Resolve #955 and allow unicode --- dev/Common/Html.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dev/Common/Html.js b/dev/Common/Html.js index 80d86889e..53592ba3a 100644 --- a/dev/Common/Html.js +++ b/dev/Common/Html.js @@ -35,7 +35,7 @@ const replaceWithChildren = node => node.replaceWith(...[...node.childNodes]), - url = /(^|\s|\n|\/?>)(https?:\/\/[-A-Z0-9+&#/%?=()~_|!:,.;]*[-A-Z0-9+&#/%=~()_|])/gi, + urlRegExp = /https?:\/\/[^\p{C}\p{Z}]+[^\p{C}\p{Z}.]/gu, // eslint-disable-next-line max-len email = /(^|\s|\n|\/?>)((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x21\x23-\x5b\x5d-\x7f]|\\[\x21\x23-\x5b\x5d-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x21-\x5a\x53-\x7f]|\\[\x21\x23-\x5b\x5d-\x7f])+)\]))/gi, // rfc3966 @@ -713,9 +713,9 @@ export const .replace(/&/g, '&') .replace(/>/g, '>') .replace(/ { - m[2] = stripTracking(m[2]); - return `${m[1]}${m[2]}`; + .replace(urlRegExp, (...m) => { + m[0] = stripTracking(m[0]); + return `${m[0]}`; }) .replace(email, '$1$2') .replace(tel, '$1$2')