Yo normalmente lo hago con una expresión regular que encontré en otro foro:
Código PHP:
Ver originalfunction youtubeId($url) {
if($value != '') {
$match = preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+(?=\?)|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+#", $url, $matches); if((int) $match > 0) {
return $matches[0];
}
}
return false;
}
Me ha funcionado correctamente, será cuestión de que lo pruebes para ver si hay errores.