Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/07/2015, 09:49
Avatar de wunderwaffen077
wunderwaffen077
 
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 10 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.