Foros del Web » Programando para Internet » PHP »

Extraer valor de una URL

Estas en el tema de Extraer valor de una URL en el foro de PHP en Foros del Web. Hola. Quiero extraer el valor3 de la siguiente URL. ¿Cómo puedo obtener su valor con PHP sin usar GET? Con parse_url() obtengo todos los valores ...
  #1 (permalink)  
Antiguo 16/06/2011, 09:09
 
Fecha de Ingreso: junio-2009
Ubicación: A Coruña
Mensajes: 35
Antigüedad: 15 años, 5 meses
Puntos: 2
Pregunta Extraer valor de una URL

Hola.
Quiero extraer el valor3 de la siguiente URL.
¿Cómo puedo obtener su valor con PHP sin usar GET?
Con parse_url() obtengo todos los valores pero sólo quiero el valor3.

Tengo:

$URL="miweb.com&valor1=123456&valor2=6789&valor3=1 011121314&valor4=787678&valor4=75698";

Y ahora cómo obtengo valor3??
Supongo que será sencillo pero no he encontrado ejemplos parse_url().
Gracias.
  #2 (permalink)  
Antiguo 16/06/2011, 09:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Extraer valor de una URL

¿Ya viste los ejemplos del manual?
http://php.net/parse_url
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/06/2011, 09:21
 
Fecha de Ingreso: junio-2009
Ubicación: A Coruña
Mensajes: 35
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Extraer valor de una URL

Sí, pero no veo ningún ejemplo de lo que yo busco...
  #4 (permalink)  
Antiguo 16/06/2011, 09:22
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Extraer valor de una URL

$url = 'http://nombre_usuario:contrasenya@nombre_host/ruta?arg=valor#ancla';

$array = parse_url($url));
Array
(
[scheme] => http
[host] => nombre_host
[user] => nombre_usuario
[pass] => contrasenya
[path] => /ruta
[query] => arg=valor
[fragment] => ancla
)

entonces solo tienes que hacer $array['lo que tu quieras'] !!!!!
  #5 (permalink)  
Antiguo 16/06/2011, 09:25
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Extraer valor de una URL

PROBÁ este codigo y fijate que podés hacer


$URL = explode("=","$URL");

for($i=0; $i<count($URL);$i++)
{
echo $URL[$i].'<br />';

}




.
__________________
la la la
  #6 (permalink)  
Antiguo 16/06/2011, 09:42
 
Fecha de Ingreso: junio-2009
Ubicación: A Coruña
Mensajes: 35
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Extraer valor de una URL

Antes de todo gracias por los comentarios. Con parse_url() obtengo lo siguiente:

<?php
$url = "miweb.com?valor1=123456&valor2=6789&valor3=101112 1314&valor4=787678&valor5=75698";
$array = parse_url($url);
echo $array['query'];
?>

Resultado: valor1=123456&valor2=6789&valor3=1011121314&valor4 =787678&valor5=75698

Lo que busco es el valor de Valor3 y eso es lo que no se cómo sacar. Gracias.
  #7 (permalink)  
Antiguo 16/06/2011, 09:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Extraer valor de una URL

En el mismo enlace del manual que te alcancé se muestras funciones relacionadas, útiles al fin y al cabo.

parse_str() es la función complementaria que necesitas:
http://php.net/parse_str
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 16/06/2011, 09:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Extraer valor de una URL

Usa parse_str() con ese puedes convertir tu query string en variables.
  #9 (permalink)  
Antiguo 16/06/2011, 10:00
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: Extraer valor de una URL

<?php
$cadena = "primero=valor&amp;segundo[]=esto+funciona&amp;segundo[]=otro";
parse_str($cadena);
echo $primero; /* escribe "valor" */
echo $segundo[0]; /* escribe "esto funciona" */
echo $segundo[1]; /* escribe "otro" */

parse_str($cadena, $salida);
echo $salida['primero']; /* escribe "valor" */
echo $salida['segundo'][0]; /* escribe "esto funciona" */
echo $salida['segundo'][1]; /* escribe "otro" */

?>
  #10 (permalink)  
Antiguo 16/06/2011, 16:30
 
Fecha de Ingreso: junio-2009
Ubicación: A Coruña
Mensajes: 35
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Extraer valor de una URL

Bueno, después de todo el día buscando soluciones he llegado a esta poco ortodoxa forma de arreglar las cosas:


<?php
$url = "miweb.com?valor1=123456&valor2=6789&valor3=10 1112 1314&valor4=787678&valor5=75698";
$array = parse_url($url);
$mivalor = $array['query'];
$mivalor2 = str_replace("&amp;valor4",",",$mivalor);
$string = $mivalor2;
$patron = "/valor3=(.*)\,/";
preg_match ( $patron, $string,$resultado );
echo $resultado[1];
?>

Y funciona...
1. La primera línea es la URL.
2. La segunda hace el parse de la URL.
3. La tercera obtiene las variables de la URL.
4. Como el símbolo & no lo puedo utilizar como delimitador lo reemplazo por una coma con str_replace.
5. Delimito el valor que está entre valor3= y la coma.
6. Obtengo el valor.
7. Lo muestro.

No creo que sea la mejor forma de hacerlo pero me funciona.
Gracias a todos por la colaboración.

Etiquetas: url
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 22:34.