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) {