extractDescription static method
Extract meta description
Implementation
static String? extractDescription(String html) {
final strategies = [
// Open Graph description
r'<meta[^>]*property=[\"\x27]og:description[\"\x27][^>]*content=[\"\x27]([^\"\x27]*)[\"\x27]',
// Meta description
r'<meta[^>]*name=[\"\x27]description[\"\x27][^>]*content=[\"\x27]([^\"\x27]*)[\"\x27]',
// Twitter description
r'<meta[^>]*name=[\"\x27]twitter:description[\"\x27][^>]*content=[\"\x27]([^\"\x27]*)[\"\x27]',
// First paragraph
r'<p[^>]*>([^<]{50,200})</p>',
];
for (final pattern in strategies) {
final match = RegExp(pattern, caseSensitive: false).firstMatch(html);
if (match != null) {
final desc = _cleanText(match.group(1) ?? '');
if (desc.length > 20) return desc;
}
}
return null;
}