Uamistad:
Entiendo mas o menos como funciona srt_pad, pero lo que no logro entender es como incorporar la nueva variable cantidad a lo que estoy haciendo.
Puedes incluirla en lo que ya tengo?
Mira:
Código PHP:
<?
function parseadora($entrada){
//Consideraciones:
//Te ayudo con la primera parte, lo que sigue es seguir fabricando
//la expresión regular correcta.
//para ahorrar código, meteré esto que se usa con frecuencia en $nl
//la parte de las letras la metí por la F que aparece en tu ejemplo
$nl = "[0-9a-zA-Z]+";
//La siguiente línea comentada muestra qué es lo que estaría extrayendo la expr.reg.
// "1; 1; 4010. 39. 00. 000F; 0, 1916; 9999, 99; 1; 9,58; 7; 0,00"
$expresion_regular = "^($nl);($nl);($nl)\.($nl)\.($nl)\.($nl);($nl)\,($nl);($nl)\,($nl);($nl);($nl)\,($nl);.*";
//nos ayudará a separar los pedazos en $pedazos[1], $pedazos[2]...
ereg($expresion_regular,$entrada,$pedazos);
//CONSTRUYENDO POCO A POCO LA EXPRESIÓN 'RESULTADO'
//concatenamos los primeros tres pedazos
$resultado = $pedazos[1].$pedazos[2].$pedazos[3];
//ahora se rellenan con ceros a la izquierda hasta tener un número de 11 dígitos
$resultado = str_pad($resultado,11,0,STR_PAD_LEFT);
//bien, ahora los siguientes tres pedazos nada más se concatenan con puntos...
$resultado .= '.'.$pedazos[4].'.'.$pedazos[5].'.'.$pedazos[6].'_____'.$pedazos[7];
//ahora se rellenan con ceros a la derecha hasta tener un número de 39 dígitos
$resultado = str_pad($resultado,39,0,STR_PAD_RIGHT);
//bien, sigo insertando los pedazos.
$resultado .= ','.$pedazos[8];
//ahora se rellenan con ceros a la derecha hasta tener un número de 70 dígitos
$resultado = str_pad($resultado,50,0,STR_PAD_RIGHT);
//bien, sigo insertando los pedazos.
$resultado .= ''.$pedazos[9];
$resultado .= ','.$pedazos[10];
$resultado .= ''.$pedazos[11];
//ahora se rellenan con ceros a la derecha hasta tener un número de 70 dígitos
$resultado = str_pad($resultado,70,0,STR_PAD_RIGHT);
$resultado .= ''.$pedazos[12];
$resultado .= ','.$pedazos[13];
return $resultado;
}//end function
?>
Aquí una muestra de como va quedando:
w w w.pellegrinioscarv.com.ar/control/operaciones-leo.php