ltrim()
Artículo sobre la función PHP ltrim(), que elimina espacios en blanco u otros caracteres especificados del inicio de una cadena de texto.
La función ltrim() de PHP elimina espacios en blanco (u otros caracteres especificados) del lado izquierdo — el inicio — de una cadena. La «l» proviene de left (izquierda). Es la contraparte de rtrim(), que elimina por la derecha, y de trim(), que elimina por ambos extremos.
ltrim() es especialmente útil cuando necesitas normalizar entradas que no controlas completamente: espacios iniciales en campos de formulario, ceros iniciales en identificadores o separadores iniciales que quedan tras dividir o concatenar cadenas.
Sintaxis
ltrim(string $string, string $characters = " \n\r\t\v\0"): string| Parámetro | Descripción |
|---|---|
$string | La cadena de entrada a recortar. |
$characters | Opcional. El conjunto de caracteres a eliminar. Cada carácter se trata de forma independiente — el orden no importa. Si se omite, se usa el conjunto de espacios en blanco predeterminado. |
La función devuelve una cadena nueva; la original nunca se modifica (las cadenas en PHP se pasan por valor).
El conjunto de caracteres predeterminado
Cuando se llama a ltrim() con un solo argumento, elimina estos caracteres por la izquierda:
" "(espacio ordinario)"\t"(tabulación)"\n"(salto de línea)"\r"(retorno de carro)"\0"(byte NUL)"\v"(tabulación vertical)
Eliminar espacios en blanco iniciales
El uso más común es limpiar espacios en blanco al inicio:
Resultado:
[Hello World! ]Observa que los espacios al final permanecen — ltrim() solo actúa sobre el lado izquierdo. Los corchetes [ y ] se añaden únicamente para que los límites sean visibles en la salida.
Eliminar caracteres específicos
Pasa un segundo argumento para eliminar un conjunto personalizado de caracteres en lugar de espacios en blanco. Un caso clásico es quitar ceros iniciales:
<?php
echo ltrim("0042", "0"); // 42
echo "\n";
echo ltrim("xxxHello", "x"); // Hello
?>Resultado:
42
HelloEl argumento $characters es un conjunto, no una subcadena. Cada carácter indicado se elimina de forma independiente, por lo que ltrim($line, ".,") elimina cualquier combinación de puntos y comas iniciales:
<?php
$line = "...,.,Hello, World";
echo ltrim($line, ".,"); // Hello, World
?>Resultado:
Hello, WorldLa función se detiene en el primer carácter que no pertenece al conjunto (H en este caso), dejando intacta la coma interior de Hello, World.
Errores comunes
- No es una eliminación de subcadenas.
ltrim("hello", "he")elimina los caractereshyepor separado, devolviendo"llo"— no busca el prefijo literal"he". Para eliminar un prefijo conocido, usastr_replace()en la primera ocurrencia osubstr(). - Trabaja a nivel de bytes, no es compatible con Unicode.
ltrim()opera sobre bytes, por lo que puede corromper caracteres UTF-8 multibyte si los incluyes en$characters. Para ASCII es completamente seguro; para recortar caracteres multibyte, usa un patrón depreg_replace()con el modificadoru. - Devuelve una copia. Asigna el resultado de vuelta si quieres conservarlo:
$s = ltrim($s);.
Cuándo usar cada función de recorte
| Necesidad | Usar |
|---|---|
| Eliminar solo al inicio | ltrim() |
| Eliminar solo al final | rtrim() |
| Eliminar en ambos extremos | trim() |
Para un recorrido más amplio por el manejo de cadenas en PHP, consulta PHP Strings.