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$exp = "/list\/?=?([0-9A-Za-z-_]{18})/is"; // Parámetros de busqueda del ID
preg_match_all($exp, $request, $matches); // Extracción del ID desde la URL $id = $matches[1][0]; // ID del playlist
redir_to('play', $id);
} else {
redir_to('error', 406);
}
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.