(PHP 4, PHP 5, PHP 7, PHP 8)
trim — Strip whitespace (or other characters) from the beginning and end of a string
$string
, string $characters
= " \n\r\t\v\0"): string
This function returns a string with whitespace stripped from the
beginning and end of string
.
Without the second parameter,
trim() will strip these characters:
32
(0x20
)), an ordinary space.
9
(0x09
)), a tab.
10
(0x0A
)), a new line (line feed).
13
(0x0D
)), a carriage return.
0
(0x00
)), the NUL
-byte.
11
(0x0B
)), a vertical tab.
string
The string that will be trimmed.
characters
Optionally, the stripped characters can also be specified using
the characters
parameter.
Simply list all characters that you want to be stripped. With
..
you can specify a range of characters.
The trimmed string.
Example #1 Usage example of 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);
// trim the ASCII control characters at the beginning and end of $binary
// (from 0 to 31 inclusive)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);
?>
The above example will output:
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"
Example #2 Trimming array values with 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);
?>
The above example will output:
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: Possible gotcha: removing middle characters
Because trim() trims characters from the beginning and end of a string, it may be confusing when characters are (or are not) removed from the middle.
trim('abc', 'bad')
removes both 'a' and 'b' because it trims 'a' thus moving 'b' to the beginning to also be trimmed. So, this is why it "works" whereastrim('abc', 'b')
seemingly does not.