(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
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.
string
La chaîne de caractères qui sera tronquée.
characters
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.
La chaîne de caractères coupée.
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" }
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 quetrim('abc', 'b')
ne fonctionne pas.