2012-02-24 308 views
6

Estoy usando cURL para devolver datos de sitios externos. ¿Cómo puedo devolver la URL base de un sitio con PHP?Cómo obtener la URL base de un sitio web externo

Por ejemplo, tengo esta URL: http://www.bestbuy.com/site/Insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.p?id=1218317000232&skuId=2009148

sólo quiero http://www.bestbuy.com

Gracias!

Respuesta

13

 

$url = "http://www.bestbuy.com/site/Insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.p?id=1218317000232&skuId=2009148"; 
echo ""; 
print_r(parse_url($url));

//Would give you Array ( [scheme] => http [host] => www.bestbuy.com [path] => /site/Insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.p [query] => id=1218317000232&skuId=2009148 )

0

de REGEX :)

uso este (no estoy seguro si va a trabajar en php, pero se puede modificar ligeramente si es necesario)

/^((?:http:\/\/|https:\/\/)?(?:.+?))(?:\s*$|\/.*$)/

por lo que opcionalmente coincidirá con http: // o https: // (? Sign after \/\/)) y luego coincidirá con el vago hasta que uno de los extremos de la línea o / si existe

y su URL deseada está en el primer grupo de captura

opcionalmente se puede omitir:? por todas partes en la expresión regular y se puede obtener

  • primero: URL completa
  • segundos: params
  • tercera: protocolo
  • cuarta: dominio
Cuestiones relacionadas