Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/07/2015, 09:49
Avatar de wunderwaffen077
wunderwaffen077
 
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Alguien.. como devolver 3 ultimas palabras de una cadena.?

Tengo una función..que me da la posición de un guión de una cadena. Contando de atrás hacia adelante.

Código PHP:
function strrpos_count($haystack, $needle, $count)
        {
            if(
$count <= 0)
                return 
false;

            
$len = strlen($haystack);
            
$pos = $len;

            for(
$i = 0; $i < $count && $pos; $i++)
                
$pos = strrpos($haystack, $needle, $pos - $len - 1);

            return 
$pos;
        }
      
      
$direccion="AV. GIUSEPPE GARIBALDI NRO. 396  382-386-398,AV SN. FELIPE 628-630 Y 640  LIMA - LIMA - JESUS MARIA";

      
$pos=strrpos_count($direccion,"-",3);//OBTENGO 62... que es la posición del guión de la cadena "628-630"

     //SI ME DEVUELVE UNA POSICIÓN,SI EXISTE UN TERCER GUION

      
if ($pos) {
                  
//REEMPLAO EL TERCER GUION POR UNA COMA.
                  
$direccion = substr_replace($direccion,",",$pos,1);
       }
       echo 
$direccion; 
RESULTADO:
Código HTML:
AV. GIUSEPPE GARIBALDI NRO. 396  382-386-398,AV SN. FELIPE 628,630 Y 640  LIMA - LIMA - JESUS MARIA;
Pero lo que se desea no es solo reemplazar el tercer GUIÓN encontrado por una COMA, sino todas las anteriores.

Y generar algo como:
Código HTML:
AV. GIUSEPPE GARIBALDI NRO. 396  382,386,398,AV SN. FELIPE 628,630 Y 640  LIMA - LIMA - JESUS MARIA;
Espero que sea más claro, esta vez.