diff --git a/src/app/actions.ts b/src/app/actions.ts index 6d5c9f1..9aa4be1 100644 --- a/src/app/actions.ts +++ b/src/app/actions.ts @@ -323,7 +323,9 @@ export async function extractMetaData(url: string, keyword?: string) { htmlContent.includes("connect.facebook.net") || htmlContent.includes("fbq('init'") ) { - const fbIdMatch = htmlContent.match(/fbq\('init', '(\d+)'\)/); + const fbIdMatch = htmlContent.match( + /fbq\(\s*['"]init['"]\s*,\s*['"](\d+)['"]\s*\)/ + ); addTracker("Facebook Pixel", fbIdMatch ? fbIdMatch[1] : null); } @@ -332,7 +334,7 @@ export async function extractMetaData(url: string, keyword?: string) { htmlContent.includes("static.hotjar.com") || htmlContent.includes("window.hj=window.hj||function()") ) { - const hjIdMatch = htmlContent.match(/hjid:(\d+)/); + const hjIdMatch = htmlContent.match(/hjid\s*:\s*(\d+)/); addTracker("Hotjar", hjIdMatch ? hjIdMatch[1] : null); } @@ -344,13 +346,17 @@ export async function extractMetaData(url: string, keyword?: string) { // Segment if (htmlContent.includes("cdn.segment.com")) { - const segmentIdMatch = htmlContent.match(/analytics\.load\("([^"]+)"\)/); + const segmentIdMatch = htmlContent.match( + /analytics\.load\(\s*['"]([^"']+)['"]\s*\)/ + ); addTracker("Segment", segmentIdMatch ? segmentIdMatch[1] : null); } // Mixpanel if (htmlContent.includes("cdn.mxpnl.com")) { - const mixpanelIdMatch = htmlContent.match(/mixpanel\.init\("([^"]+)"\)/); + const mixpanelIdMatch = htmlContent.match( + /mixpanel\.init\(\s*['"]([^"']+)['"]\s*\)/ + ); addTracker("Mixpanel", mixpanelIdMatch ? mixpanelIdMatch[1] : null); } @@ -361,7 +367,9 @@ export async function extractMetaData(url: string, keyword?: string) { // Plausible if (htmlContent.includes("plausible.io/js/")) { - const plausibleDomainMatch = htmlContent.match(/data-domain="([^"]+)"/); + const plausibleDomainMatch = htmlContent.match( + /data-domain\s*=\s*['"]([^"']+)['"]/ + ); addTracker( "Plausible", plausibleDomainMatch ? plausibleDomainMatch[1] : null