Foros del Web » Programando para Internet » PHP »

Ayuda parseo de ID de YouTube

Estas en el tema de Ayuda parseo de ID de YouTube en el foro de PHP en Foros del Web. Amigos : tengo un problema de parsing y lo que quiero no es una expresion regular totalmente nueva SINO entender que hago mal Código PHP: ...
  #1 (permalink)  
Antiguo 10/07/2009, 13:41
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Pregunta Ayuda parseo de ID de YouTube

Amigos: tengo un problema de parsing y lo que quiero no es una expresion regular totalmente nueva SINO entender que hago mal

Código PHP:
<?
$html 
'la la la <p/> <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/4S_i2tziV_U&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4S_i2tziV_U&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>';

preg_match_all('|http://www.youtube.com/v/(.*?)&|is',$html,$videosID);    

echo 
'<pre>';
print_r($videosID);
echo 
'</pre>';

]
?>
El problema de la expresion que uso es que es demasiado corta y en cada video de YouTube, esa el ID aparece dos veces asi que se me repiten elementos en el array.

Si intento anteponer value=" entonces no parsea nada! ni siquiera con una comilla parsea .....y la he intentado escapar.....de todo.....y nada

Estoy muy confundido....y quisiera saber en que me equivoco. GRACIAS
__________________
Salu2!
  #2 (permalink)  
Antiguo 10/07/2009, 13:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda parseo de ID de YouTube

Anteponiendo value=" funciona sin problemas .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 10/07/2009, 14:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 102
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Ayuda parseo de ID de YouTube

porq lo haces asi ?

mejor revisa esto

http://www.youtube.com/watch?v=u2_KBVXKY3U -> url del video

http://www.youtube.com/v/u2_KBVXKY3U -> Url que sacas del codigo embed

Mira bien

Código PHP:
<?php
$urlyt
="http://www.youtube.com/watch?v=u2_KBVXKY3U";
$url_vid=str_replace("watch?","",$urlyt);
$url_vid=str_replace("=","/",$urlyt);
echo 
$url_vid;
?>
y ahora ejecutalo y dime que te sale
  #4 (permalink)  
Antiguo 10/07/2009, 14:00
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Ayuda parseo de ID de YouTube

Pues a mi no me funciona......

La expresion que SI me funciona es esta: '/<param name="movie" value="(http:\/\/[^&"\'\s]+)/i'
__________________
Salu2!
  #5 (permalink)  
Antiguo 10/07/2009, 14:02
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Ayuda parseo de ID de YouTube

talcualvip: gracias..... veré si me sirve
__________________
Salu2!
  #6 (permalink)  
Antiguo 10/07/2009, 16:22
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Ayuda parseo de ID de YouTube

Prueba esto, nunca me fallo:
Código php:
Ver original
  1. function youtubeId($url){
  2.     $urlsYoutube=array('www.youtube.com','youtube.com');
  3.     $urlSep=explode('http://',$url);
  4.     $urlFinSep=explode('/',$urlSep[1]);
  5.     if(!in_array($urlFinSep[0],$urlsYoutube))return false;
  6.     $sep=explode('?',$url);
  7.     if(count($sep)<=0)return false;
  8.     $sub=explode('&',$sep[1]);
  9.     for($i=0;$i<count($sub);$i++){
  10.         $subed=explode('=',$sub[$i]);
  11.         if($subed[0]=='v'){
  12.             return $subed[1];
  13.         }
  14.     }
  15.     return false;
  16. }

Edito:
Me confindi pense no lei vien y pense que buscabas como sacar el id :D
__________________
Half Music - www.halfmusic.com

Última edición por pato12; 10/07/2009 a las 16:25 Razón: Confusion :D
  #7 (permalink)  
Antiguo 10/07/2009, 19:46
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Ayuda parseo de ID de YouTube

Gracias Pato..... voy a tener en cuenta tu codigo tb :)

Hace mucho que no te leia......espero andes bien; pronto espero usar el foro que creo vos habias hecho
__________________
Salu2!
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 09:41.