trim

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Описание

trim(string $string, string $characters = " \n\r\t\v\x00"): string

Функция возвращает строку 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
Строка (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') нет.

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

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