trim

(PHP 4, PHP 5, PHP 7, PHP 8)

trim Supprime les espaces (ou d'autres caractères) en début et fin de chaîne

Description

trim(string $string, string $characters = " \n\r\t\v\x00"): string

trim() retourne la chaîne string, après avoir supprimé les caractères invisibles en début et fin de chaîne. Si le second paramètre characters est omis, trim() supprimera les caractères suivants :

  • " " : caractère SP en ASCII 0x20, un espace ordinaire.
  • "\t" : caractère HT en ASCII 0x09, une tabulation.
  • "\n" : caractère LF en ASCII 0x0A, un saut de ligne (line feed).
  • "\r" : caractère CR en ASCII 0x0D, un retour chariot.
  • "\0" : caractère NUL en ASCII 0x00, l'octet NUL.
  • "\v" : caractère VT en ASCII 0x0B, une tabulation verticale.

Liste de paramètres

string

La chaîne de caractères qui sera tronquée.

characters
Facultativement, les caractères à supprimer peuvent également être spécifiés en utilisant le paramètre characters. Il suffit de lister tous les caractères qui doivent être supprimés. Avec .., il est possible de spécifier une plage croissante de caractères.

Valeurs de retour

La chaîne de caractères coupée.

Exemples

Exemple #1 Exemple avec trim()

<?php

$text
= "\t\tThese are a few words :) ... ";
$binary = "\x09Example string\x0A";
$hello = "Hello World";
var_dump($text, $binary, $hello);

print
"\n";

$trimmed = trim($text);
var_dump($trimmed);

$trimmed = trim($text, " \t.");
var_dump($trimmed);

$trimmed = trim($hello, "Hdle");
var_dump($trimmed);

$trimmed = trim($hello, 'HdWr');
var_dump($trimmed);

// Supprime les caractères de contrôle ASCII au début et à la fin de $binary
// (de 0 à 31 inclusif)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);

?>

L'exemple ci-dessus va afficher :

string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(9) "ello Worl"
string(14) "Example string"

Exemple #2 Suppression de caractères dans un tableau avec trim()

<?php
function trim_value(&$value)
{
$value = trim($value);
}

$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);

array_walk($fruit, 'trim_value');
var_dump($fruit);

?>

L'exemple ci-dessus va afficher :

array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(7) "banana "
  [2]=>
  string(11) " cranberry "
}
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(9) "cranberry"
}

Notes

Note: Utilisation possible : suppression des caractères en milieu de chaîne

En raison du fait que la fonction trim() supprime des caractères en début et en fin de chaîne, ce peut être confus lorsque les caractères sont (ou pas) supprimés depuis le milieu. trim('abc', 'bad') supprime à la fois 'a' et 'b' car la fonction supprime 'a', puis, déplace 'b' en début de chaîne, qui sera également supprimé. Aussi, c'est la raison pour laquelle la fonction "marche" alors que trim('abc', 'b') ne fonctionne pas.

Voir aussi

  • ltrim() - Supprime les espaces (ou d'autres caractères) de début de chaîne
  • rtrim() - Supprime les espaces (ou d'autres caractères) de fin de chaîne
  • str_replace() - Remplace toutes les occurrences dans une chaîne