Foros del Web » Programando para Internet » PHP »

Problema con substr()

Estas en el tema de Problema con substr() en el foro de PHP en Foros del Web. Hola! Necesito extraer un texto de una cadena y substr() se como caracteres. El texto que recibo tiene 2 posibilidades, que los el numero de ...
  #1 (permalink)  
Antiguo 09/12/2009, 23:19
 
Fecha de Ingreso: noviembre-2009
Ubicación: Castelló de la Plana
Mensajes: 71
Antigüedad: 15 años
Puntos: 3
Problema con substr()

Hola! Necesito extraer un texto de una cadena y substr() se como caracteres.

El texto que recibo tiene 2 posibilidades, que los el numero de dias sean menores de 10 o mayores:

3 dies seleccionats: 22-12-2009 -> 24-12-2009
31 dies seleccionats: 01-12-2009 -> 31-12-2009

De estos textos quiero sacar las fechas y me he creado estas funciones:

Código:
function dataRecollida ($data){
	
	$caract=substr($data,1,1);
	if ($caract=' ') $resultat=substr($data,21,10);
	else $resultat=substr($data,22,10);
	return $resultat;
}

function dataTornada ($data){
	
	$caract=substr($data,1,1);
	if ($caract=' ') $resultat=substr($data,35,10);
	else $resultat=substr($data,36,10);
	return $resultat;
}
Donde $data es la cadena de texto de antes.

Pues si que almacena en la variable algo de texto, pero se come 2 o 3 caracteres del final...

¿Donde fallo?

Gracias por vuestra ayuda de nuevo!
  #2 (permalink)  
Antiguo 09/12/2009, 23:30
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Problema con substr()

Esas funciones estan casi perfectas, tan solo sumar 1 en ciertos parametros:
Código PHP:
function dataRecollida ($data){
    
$caract=substr($data,1,1);
    if (
$caract=' '$resultat=substr($data,21,10);
    else 
$resultat=substr($data,22,10);
    return 
$resultat;
}

function 
dataTornada ($data){
    
    
$caract=substr($data,1,1);
    if (
$caract=' '$resultat=substr($data,36,10);
    else 
$resultat=substr($data,37,10);
    return 
$resultat;

  #3 (permalink)  
Antiguo 10/12/2009, 10:07
 
Fecha de Ingreso: noviembre-2009
Ubicación: Castelló de la Plana
Mensajes: 71
Antigüedad: 15 años
Puntos: 3
Respuesta: Problema con substr()

Hola! Muchas gracias por responder. Con tu solución me sigue pasando lo mismo, se me come 3 o 4 caracteres al final. ¿Quizás sea por que el signo "guión" vale por 2 o algo así? Sino no lo entiendo. De todas maneras al final las funciones han quedado asi y ya funcionan perfectamente:

Código:
function dataRecollida ($data){
	
	$caract=substr($data,1,1);
	if ($caract=' ') $resultat=substr($data,21,14);
	else $resultat=substr($data,22,14);
	return $resultat;
}

function dataTornada ($data){
	
	$caract=substr($data,1,1);
	if ($caract=' ') $resultat=substr($data,38,14);
	else $resultat=substr($data,39,14);
	return $resultat;
}

function dies ($data){
	$dies=trim(substr($data,0,2));
	return $dies;
}
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:11.