From 473f1046f39d76e0aedd23672cfbffc70f57666b Mon Sep 17 00:00:00 2001 From: khannurien Date: Sun, 21 Jun 2026 20:40:10 +0000 Subject: [PATCH] v3: fix to title extraction regex --- api/services/rich-content-service.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/api/services/rich-content-service.ts b/api/services/rich-content-service.ts index 8d37c22..c15c7da 100644 --- a/api/services/rich-content-service.ts +++ b/api/services/rich-content-service.ts @@ -156,17 +156,17 @@ export function extractOgTag( ): string | undefined { const patterns = [ new RegExp( - `]+property=["']og:${tag}["'][^>]+content=["']([^"']+)["']`, + `]+property=["']og:${tag}["'][^>]+content=(["'])([\\s\\S]*?)\\1`, "i", ), new RegExp( - `]+content=["']([^"']+)["'][^>]+property=["']og:${tag}["']`, + `]+content=(["'])([\\s\\S]*?)\\1[^>]+property=["']og:${tag}["']`, "i", ), ]; for (const pattern of patterns) { const match = html.match(pattern); - if (match) return decodeHtmlEntities(match[1]); + if (match) return decodeHtmlEntities(match[2]); } return undefined; } @@ -179,17 +179,17 @@ export function extractMetaName( const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); const patterns = [ new RegExp( - `]+name=["']${escaped}["'][^>]+content=["']([^"']+)["']`, + `]+name=["']${escaped}["'][^>]+content=(["'])([\\s\\S]*?)\\1`, "i", ), new RegExp( - `]+content=["']([^"']+)["'][^>]+name=["']${escaped}["']`, + `]+content=(["'])([\\s\\S]*?)\\1[^>]+name=["']${escaped}["']`, "i", ), ]; for (const pattern of patterns) { const match = html.match(pattern); - if (match) return decodeHtmlEntities(match[1]); + if (match) return decodeHtmlEntities(match[2]); } return undefined; }