W3docs

rtrim()

Article sur la fonction PHP rtrim(), qui supprime les espaces (ou d'autres caractères) à la fin d'une chaîne. Syntaxe, masque et cas d'usage.

La fonction PHP rtrim() supprime les espaces — ou tout autre caractère que vous spécifiez — de l'extrémité droite d'une chaîne. (Le « r » signifie right, c'est-à-dire droite.) Elle retourne une nouvelle chaîne tronquée et laisse la chaîne originale intacte, car les chaînes sont passées par valeur en PHP.

Cette page couvre la syntaxe, les caractères supprimés par défaut, la façon de fournir un masque de caractères personnalisé (y compris les plages), et quand rtrim() est le bon outil par rapport à ses fonctions sœurs ltrim() et trim().

Syntaxe

rtrim(string $string, string $characters = " \n\r\t\v\x00"): string
ParamètreRequisDescription
$stringOuiLa chaîne d'entrée à tronquer.
$charactersNonUne liste de caractères à supprimer de la fin. Si omis, l'ensemble d'espaces par défaut est utilisé.

Valeur de retour : la chaîne tronquée. La fonction ne modifie jamais $string en place.

Caractères supprimés par défaut

Lorsque vous appelez rtrim() avec un seul argument, elle supprime ces caractères de fin :

CaractèreSignification
" " (0x20)Espace ordinaire
"\t" (0x09)Tabulation
"\n" (0x0A)Saut de ligne
"\r" (0x0D)Retour chariot
"\0" (0x00)Octet NUL
"\v" (0x0B)Tabulation verticale

Notez que cet ensemble par défaut n'inclut pas les autres espaces Unicode tels que l'espace insécable (\xA0) ; pour les supprimer, vous devez les lister explicitement dans le masque.

Supprimer les espaces en fin de chaîne

L'utilisation la plus courante consiste à nettoyer les espaces, tabulations et sauts de ligne en fin de chaîne — par exemple après la lecture d'une ligne d'un fichier ou la validation d'une saisie de formulaire.

php— editable, runs on the server

Le | marque l'endroit où la chaîne se termine désormais, ce qui vous permet de voir que les espaces de fin ont disparu :

Hello World!|

Les sauts de ligne et les tabulations sont gérés de la même façon :

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

Supprimer des caractères spécifiques avec un masque

Passez un second argument pour supprimer un ensemble de caractères personnalisé à la place des espaces. Chaque caractère listé dans le masque est supprimé de la fin, de manière répétée, jusqu'à ce qu'un caractère absent du masque soit atteint.

<?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 troisième ligne est un piège courant : le masque est un ensemble de caractères individuels, pas une sous-chaîne. '.bak' signifie « supprimer l'un quelconque des caractères ., b, a, k », donc il continue à supprimer jusqu'à atteindre le t dans txt. Si vous avez besoin de supprimer une chaîne de suffixe littérale, utilisez str_replace() ou substr() à la place.

Plages de caractères

Vous pouvez exprimer une plage contiguë avec .. entre deux caractères — pratique pour supprimer tous les chiffres ou lettres en fin de chaîne :

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

rtrim() vs ltrim() vs trim()

Ces trois fonctions partagent la même signature et les mêmes règles de masque de caractères ; elles ne diffèrent que par le côté de la chaîne qu'elles affectent :

FonctionTronque depuis
ltrim()La gauche (début) uniquement
rtrim()La droite (fin) uniquement
trim()Les deux extrémités

Utilisez rtrim() spécifiquement lorsque les espaces en début de chaîne sont significatifs mais que les espaces en fin sont indésirables — par exemple, pour préserver l'indentation tout en supprimant les artefacts de fin de ligne.

Résumé

  • rtrim() supprime les espaces (ou un ensemble de caractères personnalisé) de l'extrémité droite d'une chaîne et retourne le résultat.
  • Sans second argument, elle supprime l'espace, la tabulation, le saut de ligne, le retour chariot, le NUL et la tabulation verticale.
  • Le masque optionnel est un ensemble de caractères, pas un suffixe — pour supprimer une terminaison littérale, utilisez str_replace().
  • Utilisez ltrim() pour le début et trim() pour les deux extrémités.

Exercice

Pratique
Quelle est la fonctionnalité de la fonction rtrim() en PHP ?
Quelle est la fonctionnalité de la fonction rtrim() en PHP ?
Was this page helpful?