Procesa url de videos youtube usando PHP

Escrita por , 9 January 2011

PHP, el lenguage de la web.Bueno,
Andaba buscando la manera de mostrar videos de youtube para mi chat, que es basado en phpfreechat, y resulte con un código en PHP, usando la funcion preg_match().

Fácilmente me resulto factible Procesar un url de videos Youtube que tus usuarios peguen, en el chat ya ahora los usuarios pueden pegar la URL de youtube y el chat muestra el vídeo automáticamente,
sin embargo no solo puede trabajar para phpfreechat sino que en cualquier tipo de script que obtenga información de los usuarios, por ejemplo :
Una Forma de HTML, usando $_POST[] o $_GET[] array de PHP, o alguna pagina que reciba input de los usuarios…se las dejo haber si les sirve..

<?php
/** Created by UTAN aka re*s.t.a.r.s.*2 Neu Valle */


function parseyoutubevid($text){
  // algunos settings para el tamaño del video
  $height=250;
  $width=250;
  $MatchThis='/[\\?\\&]v=([^\\?\\&]+)/';
  if(preg_match($MatchThis,$text,$matches))
  {
	// no queremos un enlace como este php?v= sea visto como youtube video!.
	if(strlen($vidid=$matches[1]) == 11){
    $youtuvideo="<object width=".$width." height=".$height."><param name=\"movie\" value=\"http://www.youtube.com/v/".$vidid."&hl=en&fs=1&rel=0\">
    </param><param name=\"allowFullScreen\" value=\"true\">
    </param><embed src=\"http://www.youtube.com/v/".$vidid."&hl=en&fs=1&rel=0\" 
    type=\"application/x-shockwave-flash\" allowfullscreen=\"true\" width=".$width." height=".$height."></embed></object>";
	return $youtuvideo;
	}else{
	return $text;// no paso el text de el ID de youtube..
	}
  }else{
  return $text;// retornamos el texto pues no es un video youtube.
    }
}
?>

Cambias algunos settings para el tamaño del video”
$height=250;
$width=250;
$height la altura del video y $width la parte ancha del video, simplemente cambiándolos te da mas control del tamaño del video sin necesidad de cambiar el output the html.
Ahora podes llamar la función ejemplo:

<?php
$UserURL=trim($_POST['formInput']); // creamos la variable i quitamos espacios.
$UserURL=htmlentities($UserURL);// un poco de limpieza, aunque debes de hacer mas por tu parte..

// lo tenemos todo, pasemos a llamar la función..

echo parseyoutubevid($UserURL);
?>

Creamos el texto usando el Super Global de PHP POST, lo limpiamos y lo pasamos a la función, esta detecta el ID de el URL escrito por el usuario y te printea el resultado usando el ECHO de PHP..
Bueno, ya tenemos el video y todos contentos … comenta porfavor..

Categorias : Guias para la Web,php y algo mas,Un poco de html Etiquetas :

Comentarios
18 September 2013

Brother esta interesante!
aho tengo un problema que pase si el usuario tambien ingresa texto a parte de la url del video!

lo imprimo y solo me muestra el video mas no el texto! como lo soluciono?

Echo by Farrell
18 September 2013

Hola,

tendrías que usar un preg_match(); para adquirir lo que es texto y pasarlo al usuario,
echo $texto . $youtube ;

Espero te de una idea.

Echo by UTAN
19 September 2013

Utan un gusto, no se si seria mucha molestia si publicas un ejemplo please!

te lo agrdeceeria bastante!

Echo by Farrell
Deja tu comentario

(requerido)

(requerido)