3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-07-07 19:17:19 +00:00

yeet all trailing characters from TLDs

Signed-off-by: GitHub <noreply@github.com>
This commit is contained in:
Tiago R 2023-11-26 12:25:05 +00:00 committed by GitHub
parent 9dce492de4
commit abd5b15588
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -625,6 +625,7 @@ const plainLinkRegex = /((?!https?:\/\/)\S)+\.\S+/; // anything.anything, withou
// Both of the above, with precedence on the first one
const urlRegex = new RegExp(`(${realLinkRegex.source}|${plainLinkRegex.source})`, "g");
const protocolRegex = /^[a-z]+:\/\//;
const hostnameTldRegex = /^[a-z]$/;
interface MatchedURL extends URL {
input: string;
@ -647,7 +648,15 @@ export function getUrlsInString(str: string, onlyUnique = false): MatchedURL[] {
return urls;
}
const hostname = matchUrl.hostname.endsWith(".") ? matchUrl.hostname.slice(0, -1) : matchUrl.hostname;
//let hostname = matchUrl.hostname.endsWith(".") ? matchUrl.hostname.slice(0, -1) : matchUrl.hostname;
let hostname = matchUrl.hostname.toLowerCase();
if (hostname.length > 3) {
while (!hostnameTldRegex.test(hostname.at(-1)!)) {
if (!hostname.length) break;
hostname = hostname.slice(0, -1);
}
}
const hostnameParts = hostname.split(".");
const tld = hostnameParts[hostnameParts.length - 1];