Skip to content

Instantly share code, notes, and snippets.

@wwdboer
Created February 13, 2013 10:27
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save wwdboer/4943672 to your computer and use it in GitHub Desktop.
Save wwdboer/4943672 to your computer and use it in GitHub Desktop.
PHP: Get Vimeo ID
function get_vimeoid( $url ) {
$regex = '~
# Match Vimeo link and embed code
(?:<iframe [^>]*src=")? # If iframe match up to first quote of src
(?: # Group vimeo url
https?:\/\/ # Either http or https
(?:[\w]+\.)* # Optional subdomains
vimeo\.com # Match vimeo.com
(?:[\/\w]*\/videos?)? # Optional video sub directory this handles groups links also
\/ # Slash before Id
([0-9]+) # $1: VIDEO_ID is numeric
[^\s]* # Not a space
) # End group
"? # Match end quote if part of src
(?:[^>]*></iframe>)? # Match the end of the iframe
(?:<p>.*</p>)? # Match any title information stuff
~ix';
preg_match( $regex, $url, $matches );
return $matches[1];
}
@jpibarra1130
Copy link

I think the gist won't work for channels.

e.g. http://vimeo.com/channels/hdmusicvideos/90306625

I tried removing the string videos on line 9 and it worked for me

@wwdboer
Copy link
Author

wwdboer commented Jul 16, 2014

@mwordpress
Copy link

nice work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment