trim

(PHP 4, PHP 5)

trimУдаляет пробелы (или другие символы) из начала и конца строки

Описание

string trim ( string $str [, string $charlist ] )

Эта функция возвращает строку str с удаленными из начала и конца строки пробелами. Если второй параметр не передан, trim() удаляет следующие символы:

  • " " (ASCII 32 (0x20)), обычный пробел.
  • "\t" (ASCII 9 (0x09)), символ табуляции.
  • "\n" (ASCII 10 (0x0A)), символ перевода строки.
  • "\r" (ASCII 13 (0x0D)), символ возврата каретки.
  • "\0" (ASCII 0 (0x00)), NUL-байт.
  • "\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.

Список параметров

str

Обрезаемая строка (string).

charlist

Можно также задать список символов для удаления с помощью необязательного аргумента charlist. Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.

Возвращаемые значения

Обрезаемая строка.

Список изменений

Версия Описание
4.1.0 Добавлен необязательный параметр charlist.

Примеры

Пример #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);

$trimmed trim($hello'HdWr');
var_dump($trimmed);

// удаляем управляющие ASCII-символы с начала и конца $binary
// (от 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(9) "ello Worl"
string(14) "Example string"

Пример #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"
}

Примечания

Замечание: Возможные трюки: удаление символов из середины строки

Так как trim() удаляет символы с начала и конца строки string, то удаление (или неудаление) символов из середины строки может ввести в недоумение. trim('abc', 'bad') удалит как 'a', так и 'b', потому что удаление 'a' сдвинет 'b' к началу строки, что также позволит ее удалить. Вот почему это "работает", тогда как trim('abc', 'b') очевидно нет.

Смотрите также

  • ltrim() - Удаляет пробелы (или другие символы) из начала строки
  • rtrim() - Удаляет пробелы (или другие символы) из конца строки
  • str_replace() - Заменяет все вхождения строки поиска на строку замены

Коментарии

Автор:
You can combine character ranges and individual characters in trim()'s second argument (ditto for ltrim and rtrim). All of the specified characters and ranges will be used concurrently (i.e., if a character on either end of the string matches any of the specified charaters or character ranges, it will be trimmed). The characters and character ranges can be in any order (except of course that the character ranges need to be specified in increasing order) and may overlap.
E.g., trim any nongraphical non-ASCII character:
trim($text,"\x7f..\xff\x0..\x1f");
2003-06-05 21:32:56
http://php5.kiev.ua/manual/ru/function.trim.html
Автор:
To remove multiple occurences of whitespace characters in a string an convert them all into single spaces, use this:

<?

$text 
preg_replace('/\s+/'' '$text);

?>

------------
JUBI
http://www.jubi.buum.pl
2004-04-20 09:48:22
http://php5.kiev.ua/manual/ru/function.trim.html
Автор:
Another way to trim all the elements of an array
<?php
$newarray 
array_map('trim'$array);
?>
2005-02-07 18:46:46
http://php5.kiev.ua/manual/ru/function.trim.html
If you want to check whether something ONLY has whitespaces, use the following:

<?php

if (trim($foobar)=='') {
   echo 
'The string $foobar only contains whitespace!';
}

?>
2005-05-17 15:47:45
http://php5.kiev.ua/manual/ru/function.trim.html
Автор:
It may be useful to know that trim() returns an empty string when the argument is an unset/null variable.
2007-01-12 08:06:01
http://php5.kiev.ua/manual/ru/function.trim.html
Non-breaking spaces can be troublesome with trim:

<?php
// turn some HTML with non-breaking spaces into a "normal" string
$myHTML "&nbsp;abc";
$converted strtr($myHTMLarray_flip(get_html_translation_table(HTML_ENTITIESENT_QUOTES)));

// this WILL NOT work as expected
// $converted will still appear as " abc" in view source
// (but not in od -x)
$converted trim($converted);

// &nbsp; are translated to 0xA0, so use:
$converted trim($converted"\xA0"); // <- THIS DOES NOT WORK

// EDITED>>
// UTF encodes it as chr(0xC2).chr(0xA0)
$converted trim($converted,chr(0xC2).chr(0xA0)); // should work

// PS: Thanks to John for saving my sanity!
?>
2010-07-09 05:28:06
http://php5.kiev.ua/manual/ru/function.trim.html
Trim full width space will return mess character,  when target string starts with '《'

@example 
echo trim("《", " "); 

@return 


php version 5.4.27

[EDIT by cmb AT php DOT net: it is not necessarily safe to use trim with multibyte character encodings. The given example is equivalent to echo trim("\xe3\80\8a", "\xe3\x80\x80").]
2015-05-13 11:09:04
http://php5.kiev.ua/manual/ru/function.trim.html

    Поддержать сайт на родительском проекте КГБ