trim

(PHP 4, PHP 5, PHP 7)

trimȥ���ַ�����β���Ŀհ��ַ������������ַ���

˵��

trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] ) : string

�˺��������ַ��� str ȥ����β�հ��ַ���Ľ���������ָ���ڶ���������trim() ��ȥ����Щ�ַ���

  • " " (ASCII 32 (0x20))����ͨ�ո����
  • "\t" (ASCII 9 (0x09))���Ʊ����
  • "\n" (ASCII 10 (0x0A))�����з���
  • "\r" (ASCII 13 (0x0D))���س�����
  • "\0" (ASCII 0 (0x00))�����ֽڷ���
  • "\x0B" (ASCII 11 (0x0B))����ֱ�Ʊ����

����

str

��������ַ�����

character_mask

��ѡ�����������ַ�Ҳ���� character_mask ����ָ����һ��Ҫ�г�����ϣ�����˵��ַ���Ҳ����ʹ�� ".." �г�һ���ַ���Χ��

����ֵ

���˺���ַ�����

����

Example #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"

Example #2 ʹ�� 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);

?>

�������̻������

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" whereas trim('abc', 'b') seemingly does not.

�μ�

  • ltrim() - ɾ���ַ�����ͷ�Ŀհ��ַ����������ַ���
  • rtrim() - ɾ���ַ���ĩ�˵Ŀհ��ַ������������ַ���
  • str_replace() - ���ַ����滻