Funciones de subcadenas y relleno
Extraiga y dé formato a segmentos de cadenas con substr, str_pad y wordwrap.
Funciones de subcadenas y relleno es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 4 lecciones en total.
Extracción de partes de cadenas
PHP cuenta con funciones potentes para extraer, truncar y rellenar cadenas. Son esenciales para dar formato a la salida y procesar datos de texto.
substr()
Extraiga una parte de una cadena indicando la posición inicial y una longitud opcional:
<?php
$str = 'Hello, World!';
echo substr($str, 7); // World!
echo substr($str, 7, 5); // World
echo substr($str, -6); // World!
echo substr($str, -6, 5); // Worldmb_substr()
Para cadenas multibyte (UTF-8), utilice mb_substr() para extraerlas correctamente:
<?php
$str = 'Привет Мир'; // Russian
// substr counts bytes, not characters:
echo strlen($str); // 19 bytes
// mb_substr counts characters:
echo mb_substr($str, 0, 6); // Приветstr_pad()
Rellene una cadena hasta alcanzar una longitud determinada:
<?php
// Default: right-pad with spaces
echo str_pad('5', 3, '0', STR_PAD_LEFT); // 005
echo str_pad('PHP', 10); // 'PHP '
echo str_pad('hi', 8, '-', STR_PAD_BOTH); // ---hi---
// Format invoice numbers:
echo 'INV-' . str_pad(42, 5, '0', STR_PAD_LEFT); // INV-00042wordwrap()
Ajuste una cadena a un ancho especificado, realizando los saltos en los límites de las palabras:
<?php
$text = 'The quick brown fox jumped over the lazy dog';
echo wordwrap($text, 15, PHP_EOL, false);
// The quick brown
// fox jumped over
// the lazy dogchunk_split()
Inserte una cadena separadora cada N caracteres, una opción útil para formatos de salida como base64:
<?php
$data = '1234567890ABCDEF';
echo chunk_split($data, 4, '-');
// 1234-5678-90AB-CDEF-
// Typical use: base64 encoded email attachments
$encoded = base64_encode(file_get_contents('file.bin'));
$formatted = chunk_split($encoded, 76, "\n");nl2br()
Convierta los saltos de línea en etiquetas HTML <br> para mostrarlos en el navegador:
<?php
$text = "Line one\nLine two\nLine three";
echo nl2br($text);
// Line one<br />\nLine two<br />\nLine threesprintf() para cadenas con formato
sprintf() da formato a una cadena con marcadores de posición, una opción excelente para generar salidas estructuradas:
<?php
$name = 'Alice';
$score = 95.5;
$rank = 1;
$line = sprintf('%-10s %6.2f%% #%d', $name, $score, $rank);
echo $line;
// Alice 95.50% #1number_format()
Formatee números como cadenas con separadores de miles y puntos decimales:
<?php
$amount = 1234567.891;
echo number_format($amount); // 1,234,568
echo number_format($amount, 2); // 1,234,567.89
echo number_format($amount, 2, ',', '.'); // 1.234.567,89 (European)
echo number_format($amount, 2, '.', ''); // 1234567.89 (no separator)Truncamiento de cadenas con puntos suspensivos
Trunque de forma segura textos largos con puntos suspensivos para mostrarlos:
<?php
function truncate(string $text, int $max, string $suffix = '...'): string {
if (mb_strlen($text) <= $max) return $text;
return mb_substr($text, 0, $max - mb_strlen($suffix)) . $suffix;
}
echo truncate('The quick brown fox', 15);
// The quick br...Inversión de cadenas
Invierta una cadena con strrev() (opera sobre bytes y no admite cadenas multibyte):
<?php
echo strrev('Hello'); // olleH
echo strrev('12345'); // 54321
// Palindrome check
function isPalindrome(string $s): bool {
$s = strtolower(preg_replace('/[^a-zA-Z]/', '', $s));
return $s === strrev($s);
}
var_dump(isPalindrome('racecar')); // true
var_dump(isPalindrome('PHP')); // falseRepetición y relleno de cadenas
Construya patrones de cadenas repetidas para dar formato o rellenar:
<?php
// Build a progress bar
function progressBar(int $percent, int $width = 20): string {
$filled = (int) round($percent / 100 * $width);
$empty = $width - $filled;
return '[' . str_repeat('#', $filled) . str_repeat('-', $empty) . "] $percent%";
}
echo progressBar(65); // [#############-------] 65%Comprobación rápida
¿Qué función inserta un carácter separador cada N caracteres de una cadena?
Repaso: subcadenas y relleno
Funciones principales:
substr($str, start, length)— extrae según la posiciónmb_substr()— extracción segura para cadenas multibytestr_pad()— rellena hasta alcanzar la longitud deseadawordwrap()— ajusta en los límites de las palabraschunk_split()— inserta un delimitador cada N caracteressprintf()— construye cadenas con formato
Preguntas frecuentes
¿La lección «Funciones de subcadenas y relleno» es gratis?
Sí — el texto completo de «Funciones de subcadenas y relleno» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Funciones de subcadenas y relleno»?
Extraiga y dé formato a segmentos de cadenas con substr, str_pad y wordwrap. Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar PHP Academy?
No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Funciones de subcadenas y relleno»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de PHP Academy?
Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos de strings y concatenación
- Búsqueda y reemplazo en strings
- Funciones de subcadenas y relleno
- División y unión de cadenas