Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2012, 00:49
Avatar de the_glz
the_glz
 
Fecha de Ingreso: febrero-2011
Ubicación: Angol
Mensajes: 9
Antigüedad: 13 años, 2 meses
Puntos: 2
Pregunta Obtener $_GET desde un form

Mi problema es el siguiente: estoy montando un script en el cual se ingresa un URL de YouTube y obtiene el ID del playlist.

Por ejemplo: el usuario ingresa
Código HTML:
http://www.youtube.com/watch?v=9bZkp7q19f0&list=PLEC422D53B7588DC7&index=0&feature=plcp
y el script devolverá
Código HTML:
PLEC422D53B7588DC7
.

La función que actualmente uso para esto es la siguiente:
Código PHP:
Ver original
  1. $exp = "/list\/?=?([0-9A-Za-z-_]{18})/is"; // Parámetros de busqueda del ID
  2.     preg_match_all($exp, $request, $matches); // Extracción del ID desde la URL
  3.     $id = $matches[1][0]; // ID del playlist
  4.     if(!empty($id)) {
  5.         redir_to('play', $id);
  6.     } else {
  7.         redir_to('error', 406);
  8.     }

El script funciona bien, pero como se puede ver en el código, hago que PHP "cuente" los caracteres que hay desde playlist= (18, en total) y los devuelva. Pero se que YouTube no siempre puede usar 18 caracteres para la ID de un playlist y, en tal caso, devolverá o caracteres que no pertenecen al ID u omitirá caracteres y devolverá un error.

Lo otro, es que tenía entendido que preg_match_all() sobrecarga un poco el servidor, así que quiero evitar un poco su uso.

Agradecería cualquier ayuda, sugerencia, y demás.