PHP - Duda con expresiones regulares

 
Vista:

Duda con expresiones regulares

Publicado por boni (19 intervenciones) el 04/06/2007 03:18:08
tengo una consulta.. yo estaba haciendo un script para listar directorios.

mi duda es la siguiente, yo quiero que de la URL de algo, por ejemplo:

./imagenes/fotos/camping/

muestre solo "camping", o sea, el ultimo directorio..

la unica solucion q se me ocurrio fue con expresiones regulares

entonces mi duda es

qeu funcion debo utilizar para TOMAR el valor ese ?
si no me confundo, la expresion seria "/.*$"

si me equivoco corrijanme y diganme q funcion debo utilizar para tomar el valor

GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda con expresiones regulares

Publicado por Jimmy Madrid (48 intervenciones) el 04/06/2007 16:50:20
...se me ocurre:

$trozos_url = explode('/',$url);

$num_trozos = count($trozos_url);

$valor = $trozos_url[$num_trozos];

ó bien....

$valor = $trozos_url[$num_trozos-1] ; //por si te cogiera el valor vacio que hay después de la última "/"

Seguro q hay otra forma mas rapida pero de momento es la q tengo en mente. Fijo q funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda con expresiones regulares

Publicado por boni (19 intervenciones) el 05/06/2007 03:57:01
gracias, funciona bien :)

pero igualmente, me quedo una duda

las funciones q me confundo son preg_split, ereg, eregi, ereg_replace, y todas las que manejan expresiones regs.

yo queria saber CUAL devuelve el valor que buscas en el string, osea

$VALOR = funcion($expresion,$string);
$valor devuelve un STRING, no un true/false

gracias espero q me entiendan jaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda con expresiones regulares

Publicado por Jaterli (1 intervención) el 05/06/2007 10:33:55
No existe lo q buscas como tal, pero si existe esto:

if ( ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $regs ) ) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Formato no vaido: $fecha";
}

En este caso las coincidencias se almacenarán en los elementos de regs.

Por cierto una respuesta mas rápida y sencilla a la pregunta inicial:
echo basename($PATH);
esto te devuelve el nombre del ultimo directorio o archivo.

Espero haberte ayudado un pokito mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar