Problema en la inserción de vídeos del youtube

Con una URL como esta

http://www.youtube.com/watch?feature=pl ... 5e_QL5BEv4

Sale el botón de ver vídeo pero se muestra un frame con la página de error 404. (Que es una página normal de youtube con un mensaje arriba)

El problema está en el parámetro de más que lleva la url. (feature=player_embedded)

Una posible solución es modificar el patrón dentro de la función getVidID (js)

var a=/(?:youtu\.be\/|v\/|watch\/?\?(?:.*?)v=)([A-Za-z0-9_-]{11})/

con algo así ignoraría los parámetros intermedios de la petición. El patrón se puede afinar más, que ese es un poco tosco.
socram8888 está baneado por "incumplimiento términos y condiciones de uso"
Con lo fácil que es usar un split y ya XD

Del código que yo gasto para el UserFlashEOL:
var getUrlParam = function(url, selectedParamName) {
   var urlParamStart = url.indexOf("?");
   if (urlParamStart == -1) return "";

   var urlParamEnd = url.indexOf("#", urlParamStart);
   if (urlParamEnd == -1) urlParamEnd = url.length;
   
   var paramArray = url.substring(urlParamStart + 1, urlParamEnd).split("&");
   
   for (var i = 0; i < paramArray.length; i++) {
      var curParamValueStart = paramArray[i].indexOf("=");

      if (curParamValueStart != -1) {
         var curParamName = paramArray[i].substring(0, curParamValueStart);
         var curParamValue = paramArray[i].substring(curParamValueStart + 1);

         if (curParamName == selectedParamName) {
            return curParamValue;
         };
      };
   };
   return "";
};

getVidID = function(YTurl) { return getUrlParam(YTurl, "v"); };
No, prefiero modificar la expresión regular, es mucho más limpio. Lo miraré.

Edit: además ese código que pones tú no acepta el formato /v/ID.
Probando probando... ya debería estar, al final terminé llegando más o menos a la misma regexp de pakopa.
(mensaje borrado)
socram8888 está baneado por "incumplimiento términos y condiciones de uso"
5 respuestas