W3docs

rtrim()

Artículo sobre la función PHP rtrim(), usada para eliminar espacios en blanco (u otros caracteres) del final de una cadena de texto.

La función PHP rtrim() elimina espacios en blanco — o cualquier otro carácter que especifiques — del extremo derecho de una cadena. ("r" corresponde a right, derecha en inglés.) Devuelve una nueva cadena recortada y deja la original intacta, ya que las cadenas se pasan por valor en PHP.

Esta página cubre la sintaxis, qué caracteres se eliminan por defecto, cómo proporcionar una máscara de caracteres personalizada (incluyendo rangos), y cuándo rtrim() es la herramienta adecuada frente a sus funciones relacionadas ltrim() y trim().

Sintaxis

rtrim(string $string, string $characters = " \n\r\t\v\x00"): string
ParámetroRequeridoDescripción
$stringLa cadena de entrada a recortar.
$charactersNoUna lista de caracteres a eliminar del final. Si se omite, se usa el conjunto de espacios en blanco predeterminado.

Valor de retorno: la cadena recortada. La función nunca modifica $string en su lugar.

Caracteres eliminados por defecto

Cuando llamas a rtrim() con un solo argumento, elimina estos caracteres finales:

CarácterSignificado
" " (0x20)Espacio ordinario
"\t" (0x09)Tabulación
"\n" (0x0A)Salto de línea
"\r" (0x0D)Retorno de carro
"\0" (0x00)Byte NUL
"\v" (0x0B)Tabulación vertical

Ten en cuenta que este conjunto predeterminado no incluye otros espacios en blanco Unicode como el espacio sin separación (\xA0); para eliminarlos debes listarlos explícitamente en la máscara.

Eliminación de espacios en blanco al final

El uso más común es limpiar espacios, tabulaciones y saltos de línea al final — por ejemplo, después de leer una línea de un archivo o al sanear la entrada de un formulario.

php— editable, runs on the server

El símbolo | marca dónde termina ahora la cadena, para que puedas ver que los espacios finales han desaparecido:

Hello World!|

Los saltos de línea y las tabulaciones se manejan de la misma manera:

<?php
$line = "value\t\r\n";
echo rtrim($line) . '|'; // value|
?>

Recortar caracteres específicos con una máscara

Pasa un segundo argumento para eliminar un conjunto personalizado de caracteres en lugar de espacios en blanco. Cada carácter listado en la máscara se elimina del final, repetidamente, hasta alcanzar un carácter que no esté en la máscara.

<?php
echo rtrim('Hello World...', '.') . "\n";   // Hello World
echo rtrim('/path/to/dir///', '/') . "\n";  // /path/to/dir
echo rtrim('cleanup.txt.bak', '.bak') . "\n"; // cleanup.txt — strips any of '.', 'b', 'a', 'k'
?>

La tercera línea es una trampa común: la máscara es un conjunto de caracteres individuales, no una subcadena. '.bak' significa "eliminar cualquiera de los caracteres ., b, a, k", por lo que sigue eliminando hasta llegar a la t en txt. Si necesitas eliminar una cadena de sufijo literal, usa str_replace() o substr() en su lugar.

Rangos de caracteres

Puedes expresar un rango contiguo con .. entre dos caracteres — muy útil para eliminar todos los dígitos o letras finales:

<?php
echo rtrim('item42', '0..9') . "\n";  // item — strips trailing digits 0-9
?>

rtrim() vs ltrim() vs trim()

Estas tres funciones comparten la misma firma y las mismas reglas para la máscara de caracteres; solo difieren en qué lado de la cadena afectan:

FunciónRecorta desde
ltrim()Solo el lado izquierdo (inicio)
rtrim()Solo el lado derecho (final)
trim()Ambos extremos

Usa rtrim() específicamente cuando los espacios al inicio son significativos pero los espacios al final son ruido — por ejemplo, al preservar la indentación mientras se eliminan los artefactos de fin de línea.

Resumen

  • rtrim() elimina espacios en blanco (o un conjunto de caracteres personalizado) del final de una cadena y devuelve el resultado.
  • Sin segundo argumento, elimina espacio, tabulación, salto de línea, retorno de carro, NUL y tabulación vertical.
  • La máscara opcional es un conjunto de caracteres, no un sufijo — para eliminar un final literal, usa str_replace().
  • Usa ltrim() para el inicio y trim() para ambos extremos.

Práctica

Práctica
What is the functionality of the rtrim() function in PHP?
What is the functionality of the rtrim() function in PHP?
Was this page helpful?