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;
}