extractEmbedUrl static method

String? extractEmbedUrl(
  1. String embedHtml
)

Extracts a Vimeo player or permalink URL from markup.

Implementation

static String? extractEmbedUrl(String embedHtml) {
  final iframeSrc = RegExp(
    r'''<iframe[^>]+src=["'](https?://player\.vimeo\.com/[^"']+)["']''',
    caseSensitive: false,
  ).firstMatch(embedHtml);
  if (iframeSrc != null) {
    return _normalizeUrl(iframeSrc.group(1)!);
  }

  final playerUrl = RegExp(
    r'https?://player\.vimeo\.com/[^\s"<>]+',
    caseSensitive: false,
  ).firstMatch(embedHtml);
  if (playerUrl != null) {
    return _normalizeUrl(playerUrl.group(0)!);
  }

  final permalink = RegExp(
    r'https?://(?:www\.)?vimeo\.com/[^\s"<>]+',
    caseSensitive: false,
  ).firstMatch(embedHtml);
  if (permalink != null) {
    return _normalizeUrl(permalink.group(0)!);
  }

  return null;
}