Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/11/2011, 22:55
Avatar de Triby
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