(PHP 4, PHP 5, PHP 7, PHP 8)
trim — 去除字符串首尾處的空白字符(或者其他字符)
$str
, string $character_mask
= " \t\n\r\0\x0B"): string
此函數(shù)返回字符串 str
去除首尾空白字符后的結(jié)果。如果不指定第二個參數(shù),trim() 將去除這些字符:
32
(0x20
)),普通空格符。
9
(0x09
)),制表符。
10
(0x0A
)),換行符。
13
(0x0D
)),回車符。
0
(0x00
)),空字節(jié)符。
11
(0x0B
)),垂直制表符。
str
待處理的字符串。
character_mask
可選參數(shù),過濾字符也可由 character_mask
參數(shù)指定。一般要列出所有希望過濾的字符,也可以使用 “..
” 列出一個字符范圍。
過濾后的字符串。
示例 #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);
?>
以上例程會輸出:
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);
?>
以上例程會輸出:
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.