Javascript parsear URL de YouTube
Publicado por: lasnv   en: 2011-11-24 11:24:40

Hoy les voy a compartir una función Javascript que permite obtener el id de cualquier vídeo de YouTube a partir de su url se que muchos dirán "oh que sencillo es eso" ya ques solo un parametro _GET pero debido a que YouTube tiene al menos siete (7) tipos de URL validas, el trabajo se nos complica un poco.

Bueno ya planteado el problema hay que darle solución, la siguiente functión la encontré a pedazos después de horas delante de Google y luego le hice algunas mejoras para que fue lo mas optimizada posible y que funcione con las 7 url de YouTube.

Código Javascript:

<script type="text/javascript">
function youtube_parser(url){
	var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
	var match = url.match(regExp);
	if (match&&match[7].length==11){
	    var b=match[7];
	    alert(b);
	}else{
	    alert("Url incorrecta");
	}
}
</script>

Después de copiar y pegar esta función solo hay que llamarla y pasarle una URL de YouTube para que nos devuelva el ID del respectivo vídeo.

Código Javascript

<script type="text/javascript">
document.write(youtube_parser("http://youtu.be/0zM3nApSvMg"));
</script>

Con esta linea de código podemos imprimir el ID.

La siguiente es la lista de formatos de url que usa YouTube

http://www.youtube.com/watch?v=6o-nmK9WRGE&feature=player_embedded
http://www.youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index
http://www.youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/QdK8U-VIH_o
http://www.youtube.com/v/0zM3nApSvMg?fs=1&hl=en_US&rel=0
http://www.youtube.com/watch?v=0zM3nApSvMg#t=0m10s
http://www.youtube.com/embed/0zM3nApSvMg?rel=0
http://www.youtube.com/watch?v=0zM3nApSvMg
http://youtu.be/0zM3nApSvMg

Bueno espero les sea muy útil [:D

Publicado por: dandres   en: 2011-11-24 17:24:53

Gracias.
La había estado buscando.


Visitante anonimo

Debes iniciar sesion para poder comentar
Iniciar sesión   Registrarse

Powered by Jean Paul Beard ® © 2014       Hosted on Web Hosting