Foros del Web » Programando para Internet » PHP »

cortar cadena a "x" caracteres y guardar en 2 variables

Estas en el tema de cortar cadena a "x" caracteres y guardar en 2 variables en el foro de PHP en Foros del Web. Hola lo que quiero hacer seguro que es facilisimo, pero sin saber que funcion tengo que utilizar no se como empezar imaginemos que tengo una ...
  #1 (permalink)  
Antiguo 29/09/2008, 02:05
 
Fecha de Ingreso: marzo-2005
Mensajes: 130
Antigüedad: 19 años, 1 mes
Puntos: 1
cortar cadena a "x" caracteres y guardar en 2 variables

Hola

lo que quiero hacer seguro que es facilisimo, pero sin saber que funcion tengo que utilizar no se como empezar

imaginemos que tengo una cadena de texto : 12345abcde

por ejemplo querria partir la cadena a los 5 caracteres y que se guarden los dos "trozos" cada uno en una variable
en el ejemplo seria:
$trozo1 = 12345
$trozo2 = abcde

tambien estaria bien que la cadena se corte cuando encuente un caracter deterinado;
cadena de texto : 12345_abcde
$trozo1 = 12345
$trozo2 = abcde

Gracias!
  #2 (permalink)  
Antiguo 29/09/2008, 03:09
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: cortar cadena a "x" caracteres y guardar en 2 variables

Buenas

Si siempre son 5 y 5, es tan fácil como hacer un:

Código PHP:
$cadena="12345abcde";
$trozo1="";
$trozo2="";
for(
$i=0;$i<10;$i++){
     if(
$i<5)
          
$trozo1=$trozo1+$cadena[$i];
     else
          
$trozo2=$trozo2+$cadena[$i];

Si es variable, según si es un número o una letra, y descartando carácteres especiales, pues así:

Código PHP:
    $cadena="123¿45_ab?CDe";
    
$trozoNumeros="";
    
$trozoLetras="";
    
$i=0;
    while(isset(
$cadena[$i])){
        if(
ereg("[0-9]",$cadena[$i])){
            
$trozoNumeros=$trozoNumeros.$cadena[$i];
        }
        else if(
ereg("[a-z]",$cadena[$i])){
            
$trozoLetras=$trozoLetras.$cadena[$i];
        }
        else if((
ereg("[A-Z]",$cadena[$i]))){
            
$trozoLetras=$trozoLetras.$cadena[$i];
        }
        
$i++;
    }
    echo 
"TrozoNumeros=".$trozoNumeros// Muestra 12345
    
echo "<br>";
    echo 
"TrozoLetras=".$trozoLetras// Muestra abCDe 
Está probado y funciona correctamente.

Espero que más o menos te sirva.

Saludos
  #3 (permalink)  
Antiguo 29/09/2008, 03:41
 
Fecha de Ingreso: marzo-2005
Mensajes: 130
Antigüedad: 19 años, 1 mes
Puntos: 1
Respuesta: cortar cadena a "x" caracteres y guardar en 2 variables

gracias!, pero lo de 12345 y abcde eran ejemplos

de todas formas he estado buscando mas info y creo que con explode y con un limite me vale:


Código:
$pizza  = "ingrediente1 ingrediente2 ingrediente3 ingrediente4 ingrediente5";
$ingredientes = explode(" ", $pizza, 2);
$ingrediente_principal = $ingredientes[0];
$resto_ingredientes = $ingredientes[1];
el code tambien es un ejemplo he! que lo he sacado de php.net

con esto puedo coger el primer trozo y meterlo en una variable y el resto en otra.


al final me he auto respondido
pero gracias igualmente
saludos!
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 16:39.