Foros del Web » Programando para Internet » PHP »

Cortar una cadena

Estas en el tema de Cortar una cadena en el foro de PHP en Foros del Web. Buenas Tardes saben con que función puedo cortar un cadena hasta que consiga un palabra que yo quiera... Ejemplo tengo esta cadena $Cad = "Esta ...
  #1 (permalink)  
Antiguo 18/09/2007, 14:07
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Cortar una cadena

Buenas Tardes saben con que función puedo cortar un cadena hasta que consiga un palabra que yo quiera... Ejemplo tengo esta cadena
$Cad = "Esta es una cadena muy largaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaa superrrr largaaaaaaaaaaaa hasta aqui";

y quiero tener en una nueva cadena hasta donde consiga la palabra "hasta"

$Cad_Nueva = "Esta es una cadena muy largaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaa superrrr largaaaaaaaaaaaa";

existe alguna función que haga eso??
  #2 (permalink)  
Antiguo 18/09/2007, 15:29
 
Fecha de Ingreso: enero-2007
Mensajes: 272
Antigüedad: 17 años, 4 meses
Puntos: 5
Re: Cortar una cadena

Hola:

Utiliza substr.

Nos vemos.
  #3 (permalink)  
Antiguo 19/09/2007, 00:29
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Cortar una cadena

Hay al menos 4 funciones que te ayudarán:

strpos() que encuentra la primera vez que aparece al palabra
strrpos() que encuentra la última
stripos() y strripos() que hacen lo mismo pero sin tener en cuenta las mayúsculas.

Luego empleas substr() para cortar la cadena por el sitio que te ha devuelto la función de arriba...

Te pongo en ejemplillo de uso de la primera. Las otras se emplean igual...

Código PHP:
<?php
    $cadena
="Esta es una pedazo de cadena que parece no tener fin porque me he pasado mucho rato escribiendo para ello...";
    
//A ver dónde está la palabra fin
    
$palabra="fin";
    
$lugar=strpos($cadena,$palabra);
    if (
$lugar){
        
//Ya puedo quedarme con el pedazo hasta la palabra fin, sin incluirla...
        //Ojo porque sí incluye el espacio que hay entre 'tener' y 'fin'
        
$pedazo=substr($cadena,0,$lugar);
    }else{
        
//La palabra no se ha encontrado
        
    
}
    
    
//Puesto todo en una línea
    
$pedazo=stripos($cadena,$palabra)?substr($cadena,0,strpos($cadena,$palabra)):$cadena;
    
    echo(
$pedazo);
    

?>
Hay otra función curiosa: strstr() que te devolvería el pedazo de la cadena original que queda después de la palabra buscada...

Saludos
__________________
Kelpie
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 09:38.