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() - ���ַ����滻