Cadenas de texto y manipulación — parte 1

Intermedio
PHP
PHP
Actualizado: 19/04/2026

Diagrama del tema

Concatenación y manipulación de cadenas

La concatenación de cadenas en PHP se realiza utilizando el operador punto (.), que permite unir cadenas de texto de manera sencilla. Por ejemplo:

$nombre = "María";
$saludo = "Hola, " . $nombre . "!";
echo $saludo; // Salida: Hola, María!

Para agilizar el proceso, es posible emplear el operador de asignación compuesta .= , que concatena y asigna al mismo tiempo:

$mensaje = "Bienvenidos";
$mensaje .= " al curso de PHP.";
echo $mensaje; // Salida: Bienvenidos al curso de PHP.

La manipulación de cadenas es fundamental en PHP y cuenta con diversas funciones nativas. La función strtoupper() convierte una cadena a mayúsculas:

$texto = "php es interesante";
$mayusculas = strtoupper($texto);
echo $mayusculas; // Salida: PHP ES INTERESANTE

De manera inversa, strtolower() convierte a minúsculas:

$texto = "APRENDIENDO PHP";
$minusculas = strtolower($texto);
echo $minusculas; // Salida: aprendiendo php

Para capitalizar la primera letra de cada palabra, se utiliza ucwords():

$frase = "programación orientada a objetos";
$titulo = ucwords($frase);
echo $titulo; // Salida: Programación Orientada A Objetos

La función trim() elimina espacios en blanco al inicio y al final de una cadena:

$entrada = "   datos de usuario   ";
$limpio = trim($entrada);
echo $limpio; // Salida: datos de usuario

Si es necesario reemplazar partes de una cadena, str_replace() es la opción indicada:

$texto = "Los gatos son adorables";
$nuevoTexto = str_replace("gatos", "perros", $texto);
echo $nuevoTexto; // Salida: Los perros son adorables

Para extraer una subcadena, substr() es muy útil:

$cadena = "Desarrollo Web con PHP";
$subcadena = substr($cadena, 13, 3);
echo $subcadena; // Salida: con

Cuando se requiere dividir una cadena en elementos más pequeños, explode() convierte una cadena en un array utilizando un delimitador:

$datos = "nombre;apellido;email";
$arrayDatos = explode(";", $datos);
print_r($arrayDatos);
// Salida: Array ( [0] => nombre [1] => apellido [2] => email )

Para realizar el proceso inverso y unir elementos de un array en una cadena, se utiliza implode():

$elementos = ["PHP", "JavaScript", "HTML"];
$lista = implode(", ", $elementos);
echo $lista; // Salida: PHP, JavaScript, HTML

La función str_repeat() permite repetir una cadena un número específico de veces:

$linea = str_repeat("-", 10);
echo $linea; // Salida: ----------

El uso adecuado de estas funciones de concatenación y manipulación es esencial para el procesamiento eficiente de textos en PHP, permitiendo desarrollar aplicaciones más dinámicas y flexibles.

Funciones útiles para cadenas (strlen, strpos, substr, etc.)

PHP ofrece una amplia variedad de funciones nativas para manipular y analizar cadenas de texto de forma eficiente. Conocer estas funciones es esencial para procesar y transformar información en aplicaciones web.

La función strlen() devuelve la longitud de una cadena, es decir, el número de caracteres que la componen:

$mensaje = "Aprendiendo PHP";
$tamano = strlen($mensaje);
echo $tamano; // Salida: 14

Es importante considerar que strlen() cuenta cada byte, por lo que en cadenas con caracteres especiales puede no reflejar el número de caracteres esperados. Para manejar cadenas multibyte, es recomendable usar mb_strlen().

Para buscar la posición de una subcadena dentro de otra cadena, se utiliza strpos(). Esta función devuelve la posición numérica donde se encuentra la primera aparición de la subcadena:

$frase = "Programación en PHP";
$posicion = strpos($frase, "PHP");
echo $posicion; // Salida: 15

Si la subcadena no se encuentra, strpos() devuelve false. Es crucial utilizar el operador === para diferenciar entre una posición cero y false:

if (strpos($frase, "Pro") === false) {
    echo "No se encontró la subcadena.";
} else {
    echo "Subcadena encontrada.";
}
// Salida: Subcadena encontrada.

La función substr() permite extraer una parte de una cadena especificando la posición inicial y, opcionalmente, la longitud:

$texto = "Desarrollo web con PHP";
$parte = substr($texto, 10, 3);
echo $parte; // Salida: web

Si se proporciona un valor negativo, substr() cuenta desde el final de la cadena:

$final = substr($texto, -3);
echo $final; // Salida: PHP

Para contar cuántas veces aparece una subcadena dentro de una cadena, se usa substr_count():

$parrafo = "PHP es un lenguaje de programación. PHP es popular.";
$conteo = substr_count($parrafo, "PHP");
echo $conteo; // Salida: 2

La función strstr() devuelve la porción de la cadena a partir de la primera aparición de una subcadena, incluyendo dicha subcadena:

$correo = "usuario@dominio.com";
$dominio = strstr($correo, "@");
echo $dominio; // Salida: @dominio.com

Si se desea obtener la parte antes de la subcadena, se puede pasar true como tercer parámetro:

$usuario = strstr($correo, "@", true);
echo $usuario; // Salida: usuario

Para realizar una comparación de cadenas, strcmp() compara dos cadenas de manera sensible a mayúsculas. Devuelve 0 si las cadenas son iguales:

$cadena1 = "PHP";
$cadena2 = "php";
$resultado = strcmp($cadena1, $cadena2);
echo $resultado; // Salida: valor diferente de 0

Si se requiere una comparación insensible a mayúsculas, se utiliza strcasecmp():

$resultado = strcasecmp($cadena1, $cadena2);
echo $resultado; // Salida: 0

La función strrev() retorna la cadena invertida, útil en ciertos algoritmos:

$original = "PHP";
$invertida = strrev($original);
echo $invertida; // Salida: PHP

Para encontrar la posición de la última aparición de una subcadena, strrpos() es la función adecuada:

$texto = "Este texto es un ejemplo de texto.";
$ultimaPosicion = strrpos($texto, "texto");
echo $ultimaPosicion; // Salida: 27

Para contar el número de palabras en una cadena, str_word_count() proporciona esta funcionalidad:

$oracion = "PHP es un lenguaje util";
$numeroPalabras = str_word_count($oracion);
echo $numeroPalabras; // Salida: 5

La función sprintf() formatea una cadena de acuerdo a especificadores, permitiendo crear cadenas formateadas:

$numero = 9.876;
$formato = sprintf("El número es %.2f", $numero);
echo $formato; // Salida: El número es 9.88

Para transformar una cadena en un array asociativo, parse_str() es muy útil, especialmente al procesar consultas o parámetros:

$cadenaParametros = "nombre=Juan&edad=30&pais=España";
parse_str($cadenaParametros, $parametros);
print_r($parametros);
// Salida:
// Array ( [nombre] => Juan [edad] => 30 [pais] => España )

La función number_format() permite formatear números con separadores de miles y decimales, convirtiéndolos en cadenas legibles:

$cantidad = 1234567.89;
$formateado = number_format($cantidad, 2, ',', '.');
echo $formateado; // Salida: 1.234.567,89

Finalmente, para codificar y decodificar entidades HTML, se utilizan htmlentities() y html_entity_decode(), esenciales para manejar contenido en aplicaciones web y prevenir problemas de seguridad:

$html = "<div>Sección segura</div>";
$codificado = htmlentities($html);
echo $codificado; // Salida: &lt;div&gt;Secci&oacute;n segura&lt;/div&gt;

$decodificado = html_entity_decode($codificado);
echo $decodificado; // Salida: <div>Sección segura</div>

Conocer y utilizar estas funciones permite manipular cadenas de texto de manera más eficiente y segura, optimizando el desarrollo de aplicaciones en PHP.

Alan Sastre - Autor del tutorial

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, PHP es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.

Más tutoriales de PHP

Explora más contenido relacionado con PHP y continúa aprendiendo con nuestros tutoriales gratuitos.

Aprendizajes de esta lección

Comprender la concatenación de cadenas usando el operador punto. Utilizar el operador de asignación compuesta (.=) para concatenación y asignación simultánea. Manipular cadenas con funciones como strtoupper(), strtolower(), trim(), entre otras. Reemplazar, dividir y unir cadenas con str_replace(), explode(), implode(). Utilizar funciones de longitud, búsqueda y extracción, como strlen(), strpos(), substr().

Cursos que incluyen esta lección

Esta lección forma parte de los siguientes cursos estructurados con rutas de aprendizaje