2011-05-03 13 views
5

Quiero eliminar la primera parte de la url en PHP. Ejemplo:¿Cómo eliminar la primera parte de la url en PHP?

http://www.domain.com/sales 
http://otherdomain.org/myfolder/seconddir 
/directory 

debe ser:

/sales 
/myfolder/seconddir 
/directory 

porque la URL en dinámica, creo que tengo que hacer esto con preg reemplazar, pero no sé cómo .. Y a veces es la url ya eliminado (ver último ejemplo). ¿Cómo hacer esto?

+1

¿De dónde vienen estas URL? – outis

+0

De un formulario de entrada ... ¡Pero el método a continuación con parse_url funcionó para mí! Gracias. – user735795

+1

@ user735795: Entonces puede aceptarlo (haga clic en la marca de verificación junto a la respuesta más útil). –

Respuesta

7

hay una construida en función de PHP para este parse_url.

Desde el sitio web vinculado:

<?php 
$url = 'http://username:[email protected]/path?arg=value#anchor'; 

print_r(parse_url($url)); 

echo parse_url($url, PHP_URL_PATH); 
?> 

El resultado del ejemplo sería:

Array 
(
    [scheme] => http 
    [host] => hostname 
    [user] => username 
    [pass] => password 
    [path] => /path 
    [query] => arg=value 
    [fragment] => anchor 
) 
/path 
+0

Tenga en cuenta que esto no funcionará para las URL que no contienen el esquema para ex. www.otherdomain.org/myfolder/seconddir –

2

se podría utilizar path info:

<?php 
print_r(pathinfo("http://www.domain.com/sales")); 
print_r(pathinfo("http://otherdomain.org/myfolder/seconddir")); 
print_r(pathinfo("/directory")); 
?> 

la salida:

Array 
(
    [dirname] => http://www.domain.com 
    [basename] => sales 
    [filename] => sales 
) 
Array 
(
    [dirname] => http://otherdomain.org/myfolder 
    [basename] => seconddir 
    [filename] => seconddir 
) 
Array 
(
    [dirname] =>/
    [basename] => directory 
    [filename] => directory 
) 

buena suerte!

Cuestiones relacionadas