Comunidad de diseño web y desarrollo en internet online

Manejar strings de tamaño variable en PHP con str_pad

Hace un tiempo me vi en el problema de crear con PHP uno de esos archivos de reporte, en texto, que tienen "n cantidad de caracteres" para cada registro. Ya saben, esos del estilo:

xxxxxx|yyyyy|mmmmm

Ese tipo de reportes o archivos son muy usados por esquemas bancarios, sistemas de reportes, etc. Lo molesto es tener un string de 3 caracteres y que deba ocupar 15, los caracteres en blanco deben ser *. Algo que resulte en:

************xxx

Eso es molesto de hacer, por suerte encontré una función de PHP, muy útil y simple que ya lo hace:

Código :

$str = "xxx";
$char = "*";
echo str_pad($str, 15,$char);
// Produce:   xxx************


Casi con eso, pero además nos permite controlar el reemplazo, en este caso hacia el otro lado:

Código :

$str = "xxx";
$char = "*";
echo str_pad($str, 15,$char,STR_PAD_LEFT);
// Produce:   ************xxx


Tenemos entonces la función:

Código :

str_pad(cadena_texto,cantidad_caracteres,default_blank,default_right)


Finalmente debemos saber que podemos alinear a la izquierda (STR_PAD_LEFT) o ambos lados (STR_PAD_BOTH).

¡Espero les sea de utilidad!

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate