Foros del Web » Programando para Internet » PHP »

no agarra urls de youtube cuando estan seguidas, que hago mal?

Estas en el tema de no agarra urls de youtube cuando estan seguidas, que hago mal? en el foro de PHP en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original function getUrls ( $string ) {     $regex = '/https?\:\/\/[^\" ]+/i' ;     preg_match_all ( $regex , ...
  #1 (permalink)  
Antiguo 23/08/2012, 15:02
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
no agarra urls de youtube cuando estan seguidas, que hago mal?

Código PHP:
Ver original
  1. function getUrls($string)
  2. {
  3.     $regex = '/https?\:\/\/[^\" ]+/i';
  4.     preg_match_all($regex, $string, $matches);
  5.     return ($matches[0]);
  6. }

ese codigo me regresa las urls que encuentra

sin embargo si encuentra una url
asi

http://www.youtube.com/v/N11TxiAobqshttp://www.youtube.com/v/N11TxiAobqs
osea pegada
no la agarra
pero si encuentra asi

http://www.youtube.com/v/N11TxiAobqs hola http://www.youtube.com/v/N11TxiAobqs que tal


si funciona

las urls tipo http://www.youtube.com/v/N11TxiAobqs se extraen de el codigo de insercion que te da youtube.


Código HTML:
Ver original
  1. <object width="560" height="315"><param name="movie" value="http://www.youtube.com/v/N11TxiAobqs?version=3&amp;hl=es_MX"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/N11TxiAobqs?version=3&amp;hl=es_MX" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>

bueno para que eso suceda el usuario en vez de copiar el codigo de insercion tendria que copiar solo la url y pegarla en mi pagina. bueno no hay muchas posiblidades de que el usuario haga eso puesto que no hay necesidad pudiendo copiar el codigo de la barra de direcciones.

sin embargo si alguien se quiere pasar de listo y detecta que esto "http://www.youtube.com/v/N11TxiAobqshttp://www.youtube.com/v/N11TxiAobqs" es algo que lo muestra mal, pues se va a ver mal la pagina.

bueno les dire.

tengo 2 convertidores.
uno que hice en javascript y otro para php
javascript lo uso para mostrarle al usuario lo que acaba de enviar.
y el php lo uso para que el usuario que recibe lo lea.

son 2 vistas las que hago. una es la que el usuario que envia tiene y otra la que el usuario que recibe tiene.

los dos ven exactamente lo mismo.
solo que como el usuario que envia jamas leera de la base de datos informacion de el en el momento que esta enviando al menos que presione el boton vermas, es por eso que hago una vista y conversion de lo que envia para que el lo pueda ver.
ya que si hago lo contrario entonces el usuario tendria que esperar un segundo antes de ver lo que recibio, y pues la idea no es esa, si no que lo vea rapidamente y se vea el efecto de tiempo real, aunque la otra persona lo vea un segundo despues.

el caso es que esa funcion no me lee cuando pongo este tipo de url corrida
http://www.youtube.com/v/N11TxiAobqshttp://www.youtube.com/v/N11TxiAobqs

si son las de la barra de direccion si las lee.
  #2 (permalink)  
Antiguo 23/08/2012, 15:23
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no agarra urls de youtube cuando estan seguidas, que hago mal?

Prueba con esta expresión regular:

Cita:
'/(https?\:\/\/[^\" ]+)+/i'
Saludos!
  #3 (permalink)  
Antiguo 23/08/2012, 15:25
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
Respuesta: no agarra urls de youtube cuando estan seguidas, que hago mal?

Cita:
Iniciado por 3nr1c Ver Mensaje
Prueba con esta expresión regular:



Saludos!
gracias, se me olvido añadir que tambien falla
cuando la url tiene un enter

por ejemplo asi
https://www.youtube.com/v/N11TxiAobqs
https://www.youtube.com/v/N11TxiAobqs

con espacio no falla

https://www.youtube.com/v/N11TxiAobqs https://www.youtube.com/v/N11TxiAobqs
  #4 (permalink)  
Antiguo 23/08/2012, 19:14
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
Respuesta: no agarra urls de youtube cuando estan seguidas, que hago mal?

Cita:
Iniciado por 3nr1c Ver Mensaje
Prueba con esta expresión regular:



Saludos!
Gracias. Aun sigue

http://www.youtube.com/watch?v=N11TxiAobqs
=fvwrel http://www.youtube.com/watch?v=PzRpC2e3R6s
http://www.youtube.com/watch?v=_Oa3VG0fY4g

por ejemplo
si copio y pego eso, no la agarra,
en cambio si copio y pego y aparte les doy un espacio de separacion, si las agarra.
  #5 (permalink)  
Antiguo 23/08/2012, 19:56
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
Respuesta: no agarra urls de youtube cuando estan seguidas, que hago mal?

Cita:
Iniciado por minombreesmm Ver Mensaje
Gracias. Aun sigue

http://www.youtube.com/watch?v=N11TxiAobqs
=fvwrel http://www.youtube.com/watch?v=PzRpC2e3R6s
http://www.youtube.com/watch?v=_Oa3VG0fY4g

por ejemplo
si copio y pego eso, no la agarra,
en cambio si copio y pego y aparte les doy un espacio de separacion, si las agarra.
y reañado, tambien me falla cuando pongo quiero leer los links. osea capturo esto

http://www.youtube.com/watch?v=PzRpC2e3R6s http://www.youtube.com/watch?v=PzRpC2e3R6s
la misma url. si la pongo dos veces seguidas falla. y me sale

asi. en vez dde salir solo un 2 link salen 4

http://www.youtube.com/watch?v=PzRpC2e3R6s
>http://www.youtube.com/watch?v=PzRpC2e3R6s

http://www.youtube.com/watch?v=PzRpC2e3R6s
>http://www.youtube.com/watch?v=PzRpC2e3R6s


si es la misma url tambien falla
y el que me falla es el php, por que el javascript si me la agarra bien.

osea hay 2 vistas, las del usuario que envia(javascript) y la del que lee(php)

eh notado que es por que encuentra la mismas urls
osea si encuentra una misma palabra en vez de reemplazarla la duplica???

por ejemplo

este es mi codigo


Código PHP:
Ver original
  1. for($c=0;$c<=$i-1;$c++){
  2.    
  3.     $registroC['comentario']=str_replace($urlList[$c],"<a href=".$urlList[$c].">".$urlList[$c]."</a><br>",$registroC['comentario']);        
  4.     echo "urllist ".$urlList[$c]." y regis=".$registroC['comentario']." pos ".$c."<br>";
  5.     }

habiendo solo urls el ciclo dara solo 2 vueltas, i-1 es igual a 2 en este caso
osea y la respuesta a esto es la de arriba

osea esta


http://www.youtube.com/watch?v=PzRpC2e3R6s
>http://www.youtube.com/watch?v=PzRpC2e3R6s

http://www.youtube.com/watch?v=PzRpC2e3R6s
>http://www.youtube.com/watch?v=PzRpC2e3R6s

en vez de esta

http://www.youtube.com/watch?v=PzRpC2e3R6s
http://www.youtube.com/watch?v=PzRpC2e3R6s

pero si le pongo 2 urls diferentes
si las pone bien.

a que se debera?

Última edición por minombreesmm; 23/08/2012 a las 20:38

Etiquetas: codig, detecta, html, inserción, url, youtube
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 04:07.