#3#4 Sí, ya lo expliqué. Es por cómo está programado el envío y chequeo de URLs. El código chequea la URL y las redirecciones que pudiera haber. Youtube hace una redirección cuando no es una dirección "canónica" (el tipo de URL a donde redirecciona cuando es un tipo de dirección "corta") y detecta que no es un navegador (aunque se usa curl y una identificación fake). Entonces es cuando youtube redirecciona a esa página donde sale la foto del dinosaurio ese.
Para solucionarlo, se debería o sacar el testeo de redirecciones o meter algún check con todos los nombres de dominio de youtube y procesarlo a parte. Pero ambas cosas son jodidas. Si saco el testeo de redirecciones, quizás se rompe algo no previsto... si Gallir lo hizo, fue por algo... y ya me he encontrado varias veces tocando cosas que parecían que no tenían lógica y luego se rompía código de otro lado de la web... la programación del sitio es, ufff...
Por otro lado, si se mandan direcciones tipo youtu.be/E6c7XCVakzA, hay que ir a la redirección que generan, para obtener la info y foto de la dirección canónica, pero youtube detecta que no es un humano quien lo hace y redirecciona a la URL del dinosaurio.
No sé... si se le ocurre a alguien cómo hacerlo, estoy abierto a sugerencias.
*
$url = clean_input_url(urldecode($_POST['url']));
$url = str_replace("m.youtube","https://www.youtube",$url);
$url = str_replace("youtu.be/","www.youtube.com/watch?v=",$url);
$url = preg_replace('/#[^/]*$/', '', $url); // Remove the "#", people just abuse
Para solucionarlo, se debería o sacar el testeo de redirecciones o meter algún check con todos los nombres de dominio de youtube y procesarlo a parte. Pero ambas cosas son jodidas. Si saco el testeo de redirecciones, quizás se rompe algo no previsto... si Gallir lo hizo, fue por algo... y ya me he encontrado varias veces tocando cosas que parecían que no tenían lógica y luego se rompía código de otro lado de la web... la programación del sitio es, ufff...
Por otro lado, si se mandan direcciones tipo youtu.be/E6c7XCVakzA, hay que ir a la redirección que generan, para obtener la info y foto de la dirección canónica, pero youtube detecta que no es un humano quien lo hace y redirecciona a la URL del dinosaurio.
No sé... si se le ocurre a alguien cómo hacerlo, estoy abierto a sugerencias.
El código donde se inicia el check de la URL empieza aquí: github.com/consultiaio/mediatize/blob/master/www/submit.php