array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.trim.php', 1 => 'trim', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'Функции для работы со строками', ), 'prev' => array ( 0 => 'function.substr.php', 1 => 'substr', ), 'next' => array ( 0 => 'function.ucfirst.php', 1 => 'ucfirst', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/strings/functions/trim.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
trim — Удаляет пробелы (или другие символы) из начала и конца строки
Эта функция возвращает строку string
с удалёнными
из начала и конца строки пробелами.
Если второй параметр не передан,
trim() удаляет следующие символы:
32
(0x20
)), обычный пробел.
9
(0x09
)), символ табуляции.
10
(0x0A
)), символ перевода строки.
13
(0x0D
)), символ возврата каретки.
0
(0x00
)), NUL
-байт.
11
(0x0B
)), вертикальная табуляция.
string
Обрезаемая строка (string).
characters
Можно также задать список символов для удаления с помощью
необязательного аргумента characters
.
Просто перечислите все символы, которые вы хотите удалить.
Можно указать конструкцию ..
для обозначения
диапазона символов.
Обрезаемая строка.
Пример #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')
очевидно нет.