Foros del Web » Programando para Internet » PHP »

problema para mostrar videos de Youtube con BBcode

Estas en el tema de problema para mostrar videos de Youtube con BBcode en el foro de PHP en Foros del Web. Hola amigos estoy terminando un BBcode pero estoy teniendo problemas para mostrar el video de youtube. Cuando insertan el video en la bd este queda ...
  #1 (permalink)  
Antiguo 03/11/2011, 21:34
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 8 meses
Puntos: 0
problema para mostrar videos de Youtube con BBcode

Hola amigos estoy terminando un BBcode pero estoy teniendo problemas para mostrar el video de youtube. Cuando insertan el video en la bd este queda asi


[video src="http://www.youtube.com/watch?v=Gukt3u1nh9Y"]



hasta aqui todo bien luego lo estoy tratando de mostrar remplazando con str_replace de la siguiente forma:

Código PHP:
//video
    
$temp explode('"]',$miUrl);
    
$temp2 explode('[video src="',$temp[0]);
    
$miUrl str_replace('[video src="','<iframe width="560" height="315" src="',$miUrl);
    
$miUrl str_replace('"]','" frameborder="0" allowfullscreen></iframe>',$miUrl);
    return 
$miUrl
por alguna razon solo me toma en cuenta esto:


<iframe width="560" height="315" src="http://www.youtube.com/watch?v=Gukt3u1nh9Y"


pero no me toma en cuenta esto:

frameborder="0" allowfullscreen></iframe>


no entiendo por que y esto no me permite mostrar videos en youtube.

serian de gran ayuda.

gracias de antemano
  #2 (permalink)  
Antiguo 03/11/2011, 22:55
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema para mostrar videos de Youtube con BBcode

Bueno, de entrada, los iframes no son lo mas adecuado para mostrar videos de youtube, hay formas de integrarlos directamente en tus paginas y que aparezca solo el reproductor, ejemplo:

Código HTML:
Ver original
  1. <object width="480" height="385">
  2.   <param name="movie" value="http://www.youtube.com/v/Gukt3u1nh9Y=es&fs=1"></param>
  3.   <param name="allowFullScreen" value="true"></param>
  4.   <param name="allowscriptaccess" value="always"></param>
  5.   <embed src="http://www.youtube.com/v/Gukt3u1nh9Y=es&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>

Esta opcion no pasa el validator de la w3c, pero funciona bien en la mayoria de navegadores.

Otra cosa, str_replace() no es tampoco lo mas adecuado para usar en bbcodes, a menos que solo sea para iconos gestuales ( ) y, de todos modos, no debe aplicarse directamente, hay que evitar reemplazos en codigo, como aqui:

Código:
:borracho: :-D :-)
Luego, podrias simplificar tu etiqueta para poner algo como [youtube]Gukt3u1nh9Y[/youtube] y el reemplazo lo haces con preg_replace(), algo como:

Código PHP:
Ver original
  1. $buscar = '#\[youtube\]([^\[]*?)\[/youtube\]#';
  2. $reemplazar = '<object bla bla bla><parama name="movie" value="$1"></param></object>';
  3.  
  4. $codigo = preg_replace($buscar, $reemplazar, $codigo);

En este ejemplo no esta completo el reemplazo solo adaptalo, recordando que en $1 estara la ID del video.

Funciona?, no se, no lo he probado, pero ya nos diras cuando lo pruebes.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 05/11/2011, 17:46
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: problema para mostrar videos de Youtube con BBcode

hice un par de cambios y si funciono amigo. muchas gracias. :D

Etiquetas: bbcode, youtube, video
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:31.