PHP Conference Nagoya 2025

trim

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

trimStrip whitespace (or other characters) from the beginning and end of a string

Опис

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

This function returns a string with whitespace stripped from the beginning and end of string. Without the second parameter, trim() will strip these characters:

  • " ": символ 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

The string that will be trimmed.

characters
Символи, що треба вилучити, можна вказати за допомогою необов'язкового параметра characters. Необхідно просто записати туди усі непотрібні символи. За допомогою .. можна задати діапазон символів за зростанням.

Значення, що повертаються

The trimmed string.

Приклади

Приклад #1 Usage example of 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);

// trim the ASCII control characters at the beginning and end of $binary
// (from 0 to 31 inclusive)
$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 Trimming array values with 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"
}

Примітки

Зауваження: Possible gotcha: removing middle characters

Because trim() trims characters from the beginning and end of a string, it may be confusing when characters are (or are not) removed from the middle. trim('abc', 'bad') removes both 'a' and 'b' because it trims 'a' thus moving 'b' to the beginning to also be trimmed. So, this is why it "works" whereas trim('abc', 'b') seemingly does not.

Прогляньте також

  • ltrim() - Strip whitespace (or other characters) from the beginning of a string
  • rtrim() - Strip whitespace (or other characters) from the end of a string
  • str_replace() - Replace all occurrences of the search string with the replacement string
add a note

User Contributed Notes 2 notes

up
11
pcoates at yukon1000 dot com
1 year ago
note there is a behaviour change in php 8

You used to be able to say:
$p1 = trim($_POST['p1']);
This will now throw deprecated warnings if parameter p1 is not set. It is better to say:
$p1 = trim($_POST['p1']??'');
or
$p1 = isset($_POST['p1']) ? trim($_POST['p1']) : null;
or
$p1 = isset($_POST['p1']) ? trim($_POST['p1']) : '';
up
3
gwyneth dot llewelyn at gwynethllewelyn dot net
1 year ago
Note that trim() is not aware of Unicode points that represent whitespace (e.g., in the General Punctuation block), except, of course, for the ones mentioned in this page.

There is no Unicode-specific trim function in PHP at the time of writing (July 2023), but you can try some examples of trims using multibyte strings posted on the comments for the mbstring extension: https://www.php.net/manual/en/ref.mbstring.php
To Top