trim

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

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

Описание

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

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

  • " " (ASCII 32 (0x20)), обычный пробел.
  • "\t" (ASCII 9 (0x09)), символ табуляции.
  • "\n" (ASCII 10 (0x0A)), символ перевода строки.
  • "\r" (ASCII 13 (0x0D)), символ возврата каретки.
  • "\0" (ASCII 0 (0x00)), NUL-байт.
  • "\v" (ASCII 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') очевидно нет.

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

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