I’m trying to get just the id from a vimeo URL. Is there a simpler way than this? All the vimeo video urls I see are always:
// VIMEO $vimeo = $_POST['vimeo']; function getVimeoInfo($vimeo) { $url = parse_url($vimeo); if($url['host'] !== 'vimeo.com' && $url['host'] !== 'www.vimeo.com') return false; if (preg_match('~^http://(?:www.)?vimeo.com/(?:clip:)?(d+)~', $vimeo, $match)) { $id = $match[1]; } else { $id = substr($link,10,strlen($link)); } if (!function_exists('curl_init')) die('CURL is not installed!'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://vimeo.com/api/v2/video/$id.php"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $output = unserialize(curl_exec($ch)); $output = $output[0]; curl_close($ch); return $output['id']; } $vimeo_id = getVimeoInfo($vimeo);
Advertisement
Answer
I think using parse_url()
is the best option:
$vimeo = 'https://vimeo.com/29474908'; echo (int) substr(parse_url($vimeo, PHP_URL_PATH), 1);