Foros del Web » Programando para Internet » PHP »

Sacar Datos

Estas en el tema de Sacar Datos en el foro de PHP en Foros del Web. Hola, Queria saber si podrian ayudarme, a sacar los datos de una cadena. Por ejemplo, yo tengo la URL: http://xxxx.com/zzzz/yyy.php Y lo que deseo es ...
  #1 (permalink)  
Antiguo 14/04/2009, 23:09
Avatar de kennysamuerto  
Fecha de Ingreso: mayo-2006
Ubicación: /España/Valencia/index.php
Mensajes: 283
Antigüedad: 17 años, 11 meses
Puntos: 8
Sacar Datos

Hola,

Queria saber si podrian ayudarme, a sacar los datos de una cadena.

Por ejemplo, yo tengo la URL:

http://xxxx.com/zzzz/yyy.php

Y lo que deseo es sacar la yyy.php.

Tengo el codigo que me facilito un compañero de forosdelweb, con el que saco zzzz, pero necesito sacar las yyy.

No se si me explico, seguro que si ven el codigo, lo veran mejor:

Código PHP:
<?php 


function sacar_datos($TheStr$sLeft$sRight){
    
$pleft strpos($TheStr$sLeft0);
    if (
$pleft !== false){
        
$pright strpos($TheStr$sRight$pleft strlen($sLeft));
        If (
$pright !== false) {
            
$chey substr($TheStr$pleft strlen($sLeft), ($pright - ($pleft strlen($sLeft)))) ;
            return 
ereg_replace("(<br>|<br/>|<br />|<p>|</p>|\n|\r|\r\n)"," " $chey) ;
        }
    }
    return 
'';
}



function 
reverso($cadena=NULL){

    
$chey str_split($cadena) ;
    
$cadena2 "" ;
    for(
$i=count($chey)-;   $i>=;  $i--){
        
$cadena2 .= $chey[$i] ;
    }
    return 
$cadena2 ;
}



function 
url ($server=NULL ) {

    
$chey str_split($server) ;
    
$a ;
    
$cadena "" ;
    for(
$i=count($chey)-;   $i>=;  $i--){

        if(
$chey[$i] == "/" ){
            
$a++ ;
        }


        if(
$a 0){
            
$cadena .= $chey[$i] ;
        }

    }

    return 
reverso (   sacar_datos($cadena '/' '/')  ) ;


}


---------------------------



$server $_SERVER['SCRIPT_NAME'] ;
$server=str_replace('-',' ',$server);
echo 
url($server) ;



?>
Bien, con este codigo, lo que consigo es:

Si tengo una URL http://www.prueba.com/prueba/masprue...uebas/test.php

Me regrese a maspruebas-depruebas.

Yo lo que quiero ahora es que me regrese a test.php

¿Podrian darme una ayuda? Les estaria muy agradecidos, y me ahorraria un monton de trabajo a la hora de actualizar la web.

Un Saludo
  #2 (permalink)  
Antiguo 14/04/2009, 23:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Sacar Datos

Creo que en este caso lo mejor es usar explode:
Código php:
Ver original
  1. $url = 'http://www.php.net/seccion/archivo.php';
  2. $partes = explode('/', $url);
  3. $archivo = array_pop($partes); // $archivo = 'archivo.php'
  4. $seccion = array_pop($partes); // $seccion = 'seccion'
Véase:
http://www.php.net/explode
http://www.php.net/array_pop
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 15/04/2009, 08:25
Avatar de kennysamuerto  
Fecha de Ingreso: mayo-2006
Ubicación: /España/Valencia/index.php
Mensajes: 283
Antigüedad: 17 años, 11 meses
Puntos: 8
Respuesta: Sacar Datos

Pero no consigo sacar el ultimo dato con ese codigo.

¿?Alguna Sugerencia
  #4 (permalink)  
Antiguo 15/04/2009, 08:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Sacar Datos

¿A qué último dato te refieres? .

Ya que en $archivo tendrás 'archivo.php' y en $seccion tendrás 'seccion'. ¿Qué es lo que falta obtener?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 15/04/2009, 08:43
Avatar de kennysamuerto  
Fecha de Ingreso: mayo-2006
Ubicación: /España/Valencia/index.php
Mensajes: 283
Antigüedad: 17 años, 11 meses
Puntos: 8
Respuesta: Sacar Datos

Cita:
Iniciado por David el Grande Ver Mensaje
¿A qué último dato te refieres? .

Ya que en $archivo tendrás 'archivo.php' y en $seccion tendrás 'seccion'. ¿Qué es lo que falta obtener?

Por ejemplo, este codigo iria en paginas del tipo:

http://www.xxxx.com/eventos/6002.php
http://www.xxxx.com/eventos/6003.php
...

De la forma que me dices, conseguiria sacar todos esos datos automaticamente?

Saludos
  #6 (permalink)  
Antiguo 15/04/2009, 08:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Sacar Datos

Sí, si lo pruebas verás que puedes sacar esos datos con explode.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 15/04/2009, 09:00
Avatar de kennysamuerto  
Fecha de Ingreso: mayo-2006
Ubicación: /España/Valencia/index.php
Mensajes: 283
Antigüedad: 17 años, 11 meses
Puntos: 8
Respuesta: Sacar Datos

Nada, me lo devuelve en blanco...

Donde quiero sacar el dato, tengo que poner tal cual el codigo que me has facilitado? Porque algo estoy haciendo muy mal, lo se :(

Gracias por tu ayuda desinteresada.
  #8 (permalink)  
Antiguo 15/04/2009, 09:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Sacar Datos

Muestra el código de cómo lo estás intentado.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 15/04/2009, 09:12
Avatar de kennysamuerto  
Fecha de Ingreso: mayo-2006
Ubicación: /España/Valencia/index.php
Mensajes: 283
Antigüedad: 17 años, 11 meses
Puntos: 8
Respuesta: Sacar Datos

Cita:
Iniciado por David el Grande Ver Mensaje
Muestra el código de cómo lo estás intentado.

Mira, yo en mi URL tengo: http://xxx.com/eventos.files/6002.php

En el Codigo, iria aqui:

<param name="SopAddress" value="sop://broker.sopcast.com:3912/

Y tras la barra, le pongo:

<?php

$url = 'http://www.php.net/seccion/archivo.php';
$partes = explode('/', $url);
$archivo = array_pop($partes); // $archivo = 'archivo.php'
$seccion = array_pop($partes); // $seccion = 'seccion'




?>"

Si, se que lo estoy haciendo muy mal, pero no me aclaro
  #10 (permalink)  
Antiguo 15/04/2009, 09:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Sacar Datos

Es que debes sustituir el valor de $url por la url del cual quieres obtener los datos.

Debes primero entender cómo funciona el código, únicamente así podrás adaptarlo a tu problema.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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:39.