(PHP 4, PHP 5, PHP 7, PHP 8)
trim — 去除字符串首尾處的空白字符(或者其他字符)
$str
, string $character_mask
= " \t\n\r\0\x0B"): string
此函數(shù)返回字符串 str
去除首尾空白字符后的結(jié)果。如果不指定第二個(gè)參數(shù),trim() 將去除這些字符:
32
(0x20
)),普通空格符。
9
(0x09
)),制表符。
10
(0x0A
)),換行符。
13
(0x0D
)),回車(chē)符。
0
(0x00
)),空字節(jié)符。
11
(0x0B
)),垂直制表符。
str
待處理的字符串。
character_mask
可選參數(shù),過(guò)濾字符也可由 character_mask
參數(shù)指定。一般要列出所有希望過(guò)濾的字符,也可以使用 “..
” 列出一個(gè)字符范圍。
過(guò)濾后的字符串。
示例 #1 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);
// 清除 $binary 首位的 ASCII 控制字符
// (包括 0-31)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);
?>
以上例程會(huì)輸出:
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(14) "Example string"
示例 #2 使用 trim() 清理數(shù)組值
<?php
function trim_value(&$value)
{
$value = trim($value);
}
$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);
array_walk($fruit, 'trim_value');
var_dump($fruit);
?>
以上例程會(huì)輸出:
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" }
注意: 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.