diff --git a/src/lib/server.ts b/src/lib/server.ts index 5c8ebde..5a11f0f 100644 --- a/src/lib/server.ts +++ b/src/lib/server.ts @@ -16,7 +16,7 @@ export const getFavicons = async ({ url, headers }: { url: string, headers?: Hea const responseUrl = new URL(response.url); // Regex to match tags with "rel" containing "icon" - const regex = /]*rel=['"][^'"]*icon[^'"]*['"][^>]*>/gi; + const regex = /]*rel=['"]?[^\s]*icon['"]?[^>]*?>/gi; const matches = Array.from(body.matchAll(regex)); const icons: { sizes: string, href: string }[] = []; @@ -24,11 +24,11 @@ export const getFavicons = async ({ url, headers }: { url: string, headers?: Hea const linkTag = match[0]; // Extract href value - const hrefMatch = linkTag.match(/href=['"](.*?)['"]/i); + const hrefMatch = linkTag.match(/href=['"]?([^\s>'"]*)['"]?/i); const href = hrefMatch ? hrefMatch[1] : null; // Extract sizes value - const sizesMatch = linkTag.match(/sizes=['"](.*?)['"]/i); + const sizesMatch = linkTag.match(/sizes=['"]?([^\s>'"]*)['"]?/i); const sizes = sizesMatch ? sizesMatch[1] : null; if (href) {