Con esta función se puede obtener solo el ID del video de Youtube, funciona convirtiendo la URL en un array con sus respectivos componentes así como los parámetros que tenga, por eso se devuelve el ítem «v» del array que es el parámetro de videos en Youtube, recordemos que una URL puede tener más de un parámetro como el feature, rel, etc.
También se puede realizar algo similar usando Expresiones regulares, pero de esta forma me parece bien (al menos para mi)
function GetYoutubeID($url) { if (strstr($url,'youtu.be')) { return str_ireplace(array('https://youtu.be/','http://youtu.be/'),'',$url); } else { parse_str( parse_url( $url, PHP_URL_QUERY ), $temp ); return $temp['v']; } }
Pero Youtube también maneja un tipo de URL corta que tiene como dominio youtu.be seguido del ID como si fuera una carpeta, en ese caso solo limpio la URL y dejo la parte del ID, por tanto esta función es util para obtener el ID de cualquier enlace de Youtube