(PHP 4, PHP 5, PHP 7, PHP 8)
trim — Удаляет пробельные или другие символы в начале и конце строки
Функция возвращает строку string
,
в начале и конце которой удалила пробельные символы, или символы,
которые передали во втором аргументе.
Без второго параметра функция trim() удалит следующие символы:
" "
: ASCII-символ SP
с кодом 0x20
— стандартный пробел.
"\t"
: ASCII-символ HT
с кодом 0x09
— символ табуляции.
"\n"
: ASCII-символ LF
с кодом 0x0A
— символ перевода строки.
"\r"
: ASCII-символ CR
с кодом 0x0D
— символ возврата каретки.
"\0"
: ASCII-символ NUL
с кодом 0x00
— NUL-байт.
"\v"
: ASCII-символ VT
с кодом 0x0B
— символ вертикальной табуляции.
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')
нет.