Foros del Web » Programando para Internet » PHP »

substr() para cortar url

Estas en el tema de substr() para cortar url en el foro de PHP en Foros del Web. Hola todos, necesito algo de ayuda, la variable $url del codigo que adjunto recibe una URL completa del tipo "http://www.pepe.com/xxx/yyy/zzz", para mi aplicación debo cortarla ...
  #1 (permalink)  
Antiguo 28/06/2005, 08:24
 
Fecha de Ingreso: marzo-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 0
substr() para cortar url

Hola todos, necesito algo de ayuda, la variable $url del codigo que adjunto recibe una URL completa del tipo "http://www.pepe.com/xxx/yyy/zzz", para mi aplicación debo cortarla y dejarla de esta manera: "www.pepe.com"

$url=$_REQUEST['cod'];
$url=substr($url, 7);

while (substr ($url, -1) != '/'){
$url = substr( $url, 0, -1);
}

echo $url;

este codigo si recibe una URL de este tipo: "http://www.pepe.com/xxx/yyy/zzz"
me devuelve "www.pepe.com/xxx/yyy", como lo puedo mejorar para que haga lo que quiero?
desde ya muchas gracias gente
sds a todos
  #2 (permalink)  
Antiguo 28/06/2005, 09:10
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 18 años, 10 meses
Puntos: 2
Puedes usar una expresion regular para resolver el problema:
Código PHP:
$url 'http://www.dominio.com/algo/mas/arch.html';
preg_match("/^(http:\/\/)?([^\/]+)/i",$url$coin);
$nombre_host $coin[2];
echo 
$nombre_host
el ejemplo te devolvera www.dominio.com para una entrada como la que pides

Saludos.
  #3 (permalink)  
Antiguo 28/06/2005, 10:00
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
Usando parse_url() obtienes un array asociativo.
http://ar2.php.net/manual/en/function.parse-url.php

Y la clave 'hostname' es lo que necesitas (si mal no entendi)
Código PHP:
$arr parse_url($laURL);
echo  
$arr['hostname']; 
Saludos
  #4 (permalink)  
Antiguo 28/06/2005, 10:04
 
Fecha de Ingreso: marzo-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 0
funciona barbaro
Graciasssssssss!
sds
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 12:23.